var Module;if(!Module)Module=(typeof Module!=="undefined"?Module:null)||{};var moduleOverrides={};for(var key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function";var ENVIRONMENT_IS_WEB=typeof window==="object";var ENVIRONMENT_IS_WORKER=typeof importScripts==="function";var ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=function print(x){process["stdout"].write(x+"\n")};if(!Module["printErr"])Module["printErr"]=function printErr(x){process["stderr"].write(x+"\n")};var nodeFS=require("fs");var nodePath=require("path");Module["read"]=function read(filename,binary){filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);if(!ret&&filename!=nodePath["resolve"](filename)){filename=path.join(__dirname,"..","src",filename);ret=nodeFS["readFileSync"](filename)}if(ret&&!binary)ret=ret.toString();return ret};Module["readBinary"]=function readBinary(filename){return Module["read"](filename,true)};Module["load"]=function load(f){globalEval(read(f))};if(!Module["thisProgram"]){if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}else{Module["thisProgram"]="unknown-program"}}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}))}else if(ENVIRONMENT_IS_SHELL){if(!Module["print"])Module["print"]=print;if(typeof printErr!="undefined")Module["printErr"]=printErr;if(typeof read!="undefined"){Module["read"]=read}else{Module["read"]=function read(){throw"no read() available (jsc?)"}}Module["readBinary"]=function readBinary(f){if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}var data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function printErr(x){console.log(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}var Runtime={setTempRet0:(function(value){tempRet0=value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){assert(args.length==sig.length-1);if(!args.splice)args=Array.prototype.slice.call(args);args.splice(0,0,ptr);assert("dynCall_"+sig in Module,"bad function pointer type - no table for sig '"+sig+"'");return Module["dynCall_"+sig].apply(null,args)}else{assert(sig.length==1);assert("dynCall_"+sig in Module,"bad function pointer type - no table for sig '"+sig+"'");return Module["dynCall_"+sig].call(null,ptr)}}),functionPointers:[],addFunction:(function(func){for(var i=0;i<Runtime.functionPointers.length;i++){if(!Runtime.functionPointers[i]){Runtime.functionPointers[i]=func;return 2*(1+i)}}throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."}),removeFunction:(function(index){Runtime.functionPointers[(index-2)/2]=null}),getAsmConst:(function(code,numArgs){if(!Runtime.asmConstCache)Runtime.asmConstCache={};var func=Runtime.asmConstCache[code];if(func)return func;var args=[];for(var i=0;i<numArgs;i++){args.push(String.fromCharCode(36)+i)}var source=Pointer_stringify(code);if(source[0]==='"'){if(source.indexOf('"',1)===source.length-1){source=source.substr(1,source.length-2)}else{abort("invalid EM_ASM input |"+source+"|. Please use EM_ASM(..code..) (no quotes) or EM_ASM({ ..code($0).. }, input) (to input values)")}}try{var evalled=eval("(function(Module, FS) { return function("+args.join(",")+"){ "+source+" } })")(Module,typeof FS!=="undefined"?FS:null)}catch(e){Module.printErr("error in executing inline EM_ASM code: "+e+" on: \n\n"+source+"\n\nwith args |"+args+"| (make sure to use the right one out of EM_ASM, EM_ASM_ARGS, etc.)");throw e}return Runtime.asmConstCache[code]=evalled}),warnOnce:(function(text){if(!Runtime.warnOnce.shown)Runtime.warnOnce.shown={};if(!Runtime.warnOnce.shown[text]){Runtime.warnOnce.shown[text]=1;Module.printErr(text)}}),funcWrappers:{},getFuncWrapper:(function(func,sig){assert(sig);if(!Runtime.funcWrappers[sig]){Runtime.funcWrappers[sig]={}}var sigCache=Runtime.funcWrappers[sig];if(!sigCache[func]){sigCache[func]=function dynCall_wrapper(){return Runtime.dynCall(sig,func,arguments)}}return sigCache[func]}),getCompilerSetting:(function(name){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"}),stackAlloc:(function(size){var ret=STACKTOP;STACKTOP=STACKTOP+size|0;STACKTOP=STACKTOP+15&-16;assert((STACKTOP|0)<(STACK_MAX|0)|0)|0;return ret}),staticAlloc:(function(size){var ret=STATICTOP;STATICTOP=STATICTOP+(assert(!staticSealed),size)|0;STATICTOP=STATICTOP+15&-16;return ret}),dynamicAlloc:(function(size){var ret=DYNAMICTOP;DYNAMICTOP=DYNAMICTOP+(assert(DYNAMICTOP>0),size)|0;DYNAMICTOP=DYNAMICTOP+15&-16;if(DYNAMICTOP>=TOTAL_MEMORY){var success=enlargeMemory();if(!success)return 0}return ret}),alignMemory:(function(size,quantum){var ret=size=Math.ceil(size/(quantum?quantum:16))*(quantum?quantum:16);return ret}),makeBigInt:(function(low,high,unsigned){var ret=unsigned?+(low>>>0)+ +(high>>>0)*+4294967296:+(low>>>0)+ +(high|0)*+4294967296;return ret}),GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module["Runtime"]=Runtime;var __THREW__=0;var ABORT=false;var EXITSTATUS=0;var undef=0;var tempValue,tempInt,tempBigInt,tempInt2,tempBigInt2,tempPair,tempBigIntI,tempBigIntR,tempBigIntS,tempBigIntP,tempBigIntD,tempDouble,tempFloat;var tempI64,tempI64b;var tempRet0,tempRet1,tempRet2,tempRet3,tempRet4,tempRet5,tempRet6,tempRet7,tempRet8,tempRet9;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var globalScope=this;function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;((function(){var JSfuncs={"stackSave":(function(){Runtime.stackSave()}),"stackRestore":(function(){Runtime.stackRestore()}),"arrayToC":(function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=Runtime.stackAlloc((str.length<<2)+1);writeStringToMemory(str,ret)}return ret})};var toC={"string":JSfuncs["stringToC"],"array":JSfuncs["arrayToC"]};ccall=function ccallFunc(ident,returnType,argTypes,args){var func=getCFunc(ident);var cArgs=[];var stack=0;assert(returnType!=="array",'Return type should not be "array".');if(args){for(var i=0;i<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=Runtime.stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);if(returnType==="string")ret=Pointer_stringify(ret);if(stack!==0)Runtime.stackRestore(stack);return ret};var sourceRegex=/^function\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/;function parseJSFunc(jsfunc){var parsed=jsfunc.toString().match(sourceRegex).slice(1);return{arguments:parsed[0],body:parsed[1],returnValue:parsed[2]}}var JSsource={};for(var fun in JSfuncs){if(JSfuncs.hasOwnProperty(fun)){JSsource[fun]=parseJSFunc(JSfuncs[fun])}}cwrap=function cwrap(ident,returnType,argTypes){argTypes=argTypes||[];var cfunc=getCFunc(ident);var numericArgs=argTypes.every((function(type){return type==="number"}));var numericRet=returnType!=="string";if(numericRet&&numericArgs){return cfunc}var argNames=argTypes.map((function(x,i){return"$"+i}));var funcstr="(function("+argNames.join(",")+") {";var nargs=argTypes.length;if(!numericArgs){funcstr+="var stack = "+JSsource["stackSave"].body+";";for(var i=0;i<nargs;i++){var arg=argNames[i],type=argTypes[i];if(type==="number")continue;var convertCode=JSsource[type+"ToC"];funcstr+="var "+convertCode.arguments+" = "+arg+";";funcstr+=convertCode.body+";";funcstr+=arg+"="+convertCode.returnValue+";"}}var cfuncname=parseJSFunc((function(){return cfunc})).returnValue;funcstr+="var ret = "+cfuncname+"("+argNames.join(",")+");";if(!numericRet){var strgfy=parseJSFunc((function(){return Pointer_stringify})).returnValue;funcstr+="ret = "+strgfy+"(ret);"}if(!numericArgs){funcstr+=JSsource["stackRestore"].body.replace("()","(stack)")+";"}funcstr+="return ret})";return eval(funcstr)}}))();Module["cwrap"]=cwrap;Module["ccall"]=ccall;function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}Module["setValue"]=setValue;function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[_malloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr<stop;ptr+=4){HEAP32[ptr>>2]=0}stop=ret+size;while(ptr<stop){HEAP8[ptr++>>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i<size){var curr=slab[i];if(typeof curr==="function"){curr=Runtime.getFunctionIndex(curr)}type=singleType||types[i];if(type===0){i++;continue}assert(type,"Must know what type to store in allocate!");if(type=="i64")type="i32";setValue(ret+i,curr,type);if(previousType!==type){typeSize=Runtime.getNativeTypeSize(type);previousType=type}i+=typeSize}return ret}Module["allocate"]=allocate;function Pointer_stringify(ptr,length){if(length===0||!ptr)return"";var hasUtf=0;var t;var i=0;while(1){assert(ptr+i<TOTAL_MEMORY);t=HEAPU8[ptr+i>>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return Module["UTF8ToString"](ptr)}Module["Pointer_stringify"]=Pointer_stringify;function AsciiToString(ptr){var str="";while(1){var ch=HEAP8[ptr++>>0];if(!ch)return str;str+=String.fromCharCode(ch)}}Module["AsciiToString"]=AsciiToString;function stringToAscii(str,outPtr){return writeAsciiToMemory(str,outPtr,false)}Module["stringToAscii"]=stringToAscii;function UTF8ArrayToString(u8Array,idx){var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}Module["UTF8ArrayToString"]=UTF8ArrayToString;function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}Module["UTF8ToString"]=UTF8ToString;function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}Module["stringToUTF8Array"]=stringToUTF8Array;function stringToUTF8(str,outPtr,maxBytesToWrite){assert(typeof maxBytesToWrite=="number","stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!");return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}Module["stringToUTF8"]=stringToUTF8;function lengthBytesUTF8(str){var len=0;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}Module["lengthBytesUTF8"]=lengthBytesUTF8;function UTF16ToString(ptr){var i=0;var str="";while(1){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)return str;++i;str+=String.fromCharCode(codeUnit)}}Module["UTF16ToString"]=UTF16ToString;function stringToUTF16(str,outPtr,maxBytesToWrite){assert(typeof maxBytesToWrite=="number","stringToUTF16(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!");if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite<str.length*2?maxBytesToWrite/2:str.length;for(var i=0;i<numCharsToWrite;++i){var codeUnit=str.charCodeAt(i);HEAP16[outPtr>>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr}Module["stringToUTF16"]=stringToUTF16;function lengthBytesUTF16(str){return str.length*2}Module["lengthBytesUTF16"]=lengthBytesUTF16;function UTF32ToString(ptr){var i=0;var str="";while(1){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)return str;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}}Module["UTF32ToString"]=UTF32ToString;function stringToUTF32(str,outPtr,maxBytesToWrite){assert(typeof maxBytesToWrite=="number","stringToUTF32(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!");if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i<str.length;++i){var codeUnit=str.charCodeAt(i);if(codeUnit>=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr}Module["stringToUTF32"]=stringToUTF32;function lengthBytesUTF32(str){var len=0;for(var i=0;i<str.length;++i){var codeUnit=str.charCodeAt(i);if(codeUnit>=55296&&codeUnit<=57343)++i;len+=4}return len}Module["lengthBytesUTF32"]=lengthBytesUTF32;function demangle(func){var hasLibcxxabi=!!Module["___cxa_demangle"];if(hasLibcxxabi){try{var buf=_malloc(func.length);writeStringToMemory(func.substr(1),buf);var status=_malloc(4);var ret=Module["___cxa_demangle"](buf,0,0,status);if(getValue(status,"i32")===0&&ret){return Pointer_stringify(ret)}}catch(e){}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}}var i=3;var basicTypes={"v":"void","b":"bool","c":"char","s":"short","i":"int","l":"long","f":"float","d":"double","w":"wchar_t","a":"signed char","h":"unsigned char","t":"unsigned short","j":"unsigned int","m":"unsigned long","x":"long long","y":"unsigned long long","z":"..."};var subs=[];var first=true;function dump(x){if(x)Module.print(x);Module.print(func);var pre="";for(var a=0;a<i;a++)pre+=" ";Module.print(pre+"^")}function parseNested(){i++;if(func[i]==="K")i++;var parts=[];while(func[i]!=="E"){if(func[i]==="S"){i++;var next=func.indexOf("_",i);var num=func.substring(i,next)||0;parts.push(subs[num]||"?");i=next+1;continue}if(func[i]==="C"){parts.push(parts[parts.length-1]);i+=2;continue}var size=parseInt(func.substr(i));var pre=size.toString().length;if(!size||!pre){i--;break}var curr=func.substr(i+pre,size);parts.push(curr);subs.push(curr);i+=pre+size}i++;return parts}function parse(rawList,limit,allowVoid){limit=limit||Infinity;var ret="",list=[];function flushList(){return"("+list.join(", ")+")"}var name;if(func[i]==="N"){name=parseNested().join("::");limit--;if(limit===0)return rawList?[name]:name}else{if(func[i]==="K"||first&&func[i]==="L")i++;var size=parseInt(func.substr(i));if(size){var pre=size.toString().length;name=func.substr(i+pre,size);i+=pre+size}}first=false;if(func[i]==="I"){i++;var iList=parse(true);var iRet=parse(true,1,true);ret+=iRet[0]+" "+name+"<"+iList.join(", ")+">"}else{ret=name}paramLoop:while(i<func.length&&limit-->0){var c=func[i++];if(c in basicTypes){list.push(basicTypes[c])}else{switch(c){case"P":list.push(parse(true,1,true)[0]+"*");break;case"R":list.push(parse(true,1,true)[0]+"&");break;case"L":{i++;var end=func.indexOf("E",i);var size=end-i;list.push(func.substr(i,size));i+=size+2;break};case"A":{var size=parseInt(func.substr(i));i+=size.toString().length;if(func[i]!=="_")throw"?";i++;list.push(parse(true,1,true)[0]+" ["+size+"]");break};case"E":break paramLoop;default:ret+="?"+c;break paramLoop}}}if(!allowVoid&&list.length===1&&list[0]==="void")list=[];if(rawList){if(ret){list.push(ret+"?")}return list}else{return ret+flushList()}}var parsed=func;try{if(func=="Object._main"||func=="_main"){return"main()"}if(typeof func==="number")func=Pointer_stringify(func);if(func[0]!=="_")return func;if(func[1]!=="_")return func;if(func[2]!=="Z")return func;switch(func[3]){case"n":return"operator new()";case"d":return"operator delete()"}parsed=parse()}catch(e){parsed+="?"}if(parsed.indexOf("?")>=0&&!hasLibcxxabi){Runtime.warnOnce("warning: a problem occurred in builtin C++ name demangling; build with  -s DEMANGLE_SUPPORT=1  to link in libcxxabi demangling")}return parsed}function demangleAll(text){return text.replace(/__Z[\w\d_]+/g,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){return demangleAll(jsStackTrace())}Module["stackTrace"]=stackTrace;var PAGE_SIZE=4096;function alignMemoryPage(x){if(x%4096>0){x+=4096-x%4096}return x}var HEAP;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;var STATIC_BASE=0,STATICTOP=0,staticSealed=false;var STACK_BASE=0,STACKTOP=0,STACK_MAX=0;var DYNAMIC_BASE=0,DYNAMICTOP=0;function enlargeMemory(){assert(DYNAMICTOP>=TOTAL_MEMORY);assert(TOTAL_MEMORY>4);var OLD_TOTAL_MEMORY=TOTAL_MEMORY;var LIMIT=Math.pow(2,31);if(DYNAMICTOP>=LIMIT)return false;while(TOTAL_MEMORY<=DYNAMICTOP){if(TOTAL_MEMORY<LIMIT/2){TOTAL_MEMORY=alignMemoryPage(2*TOTAL_MEMORY)}else{var last=TOTAL_MEMORY;TOTAL_MEMORY=alignMemoryPage((3*TOTAL_MEMORY+LIMIT)/4);if(TOTAL_MEMORY<=last)return false}}TOTAL_MEMORY=Math.max(TOTAL_MEMORY,16*1024*1024);if(TOTAL_MEMORY>=LIMIT)return false;Module.printErr("Warning: Enlarging memory arrays, this is not fast! "+[OLD_TOTAL_MEMORY,TOTAL_MEMORY]);var start=Date.now();try{if(ArrayBuffer.transfer){buffer=ArrayBuffer.transfer(buffer,TOTAL_MEMORY)}else{var oldHEAP8=HEAP8;buffer=new ArrayBuffer(TOTAL_MEMORY)}}catch(e){return false}var success=_emscripten_replace_memory(buffer);if(!success)return false;Module["buffer"]=buffer;Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer);if(!ArrayBuffer.transfer){HEAP8.set(oldHEAP8)}Module.printErr("enlarged memory arrays from "+OLD_TOTAL_MEMORY+" to "+TOTAL_MEMORY+", took "+(Date.now()-start)+" ms (has ArrayBuffer.transfer? "+!!ArrayBuffer.transfer+")");return true}var byteLength;try{byteLength=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get);byteLength(new ArrayBuffer(4))}catch(e){byteLength=(function(buffer){return buffer.byteLength})}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;var totalMemory=64*1024;while(totalMemory<TOTAL_MEMORY||totalMemory<2*TOTAL_STACK){if(totalMemory<16*1024*1024){totalMemory*=2}else{totalMemory+=16*1024*1024}}totalMemory=Math.max(totalMemory,16*1024*1024);if(totalMemory!==TOTAL_MEMORY){Module.printErr("increasing TOTAL_MEMORY to "+totalMemory+" to be compliant with the asm.js spec (and given that TOTAL_STACK="+TOTAL_STACK+")");TOTAL_MEMORY=totalMemory}assert(typeof Int32Array!=="undefined"&&typeof Float64Array!=="undefined"&&!!(new Int32Array(1))["subarray"]&&!!(new Int32Array(1))["set"],"JS engine does not provide full typed array support");var buffer=new ArrayBuffer(TOTAL_MEMORY);HEAP8=new Int8Array(buffer);HEAP16=new Int16Array(buffer);HEAP32=new Int32Array(buffer);HEAPU8=new Uint8Array(buffer);HEAPU16=new Uint16Array(buffer);HEAPU32=new Uint32Array(buffer);HEAPF32=new Float32Array(buffer);HEAPF64=new Float64Array(buffer);HEAP32[0]=255;assert(HEAPU8[0]===255&&HEAPU8[3]===0,"Typed arrays 2 must be run on a little-endian system");Module["HEAP"]=HEAP;Module["buffer"]=buffer;Module["HEAP8"]=HEAP8;Module["HEAP16"]=HEAP16;Module["HEAP32"]=HEAP32;Module["HEAPU8"]=HEAPU8;Module["HEAPU16"]=HEAPU16;Module["HEAPU32"]=HEAPU32;Module["HEAPF32"]=HEAPF32;Module["HEAPF64"]=HEAPF64;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Runtime.dynCall("v",func)}else{Runtime.dynCall("vi",func,[callback.arg])}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}Module["addOnPreRun"]=Module.addOnPreRun=addOnPreRun;function addOnInit(cb){__ATINIT__.unshift(cb)}Module["addOnInit"]=Module.addOnInit=addOnInit;function addOnPreMain(cb){__ATMAIN__.unshift(cb)}Module["addOnPreMain"]=Module.addOnPreMain=addOnPreMain;function addOnExit(cb){__ATEXIT__.unshift(cb)}Module["addOnExit"]=Module.addOnExit=addOnExit;function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}Module["addOnPostRun"]=Module.addOnPostRun=addOnPostRun;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}Module["intArrayFromString"]=intArrayFromString;function intArrayToString(array){var ret=[];for(var i=0;i<array.length;i++){var chr=array[i];if(chr>255){assert(false,"Character code "+chr+" ("+String.fromCharCode(chr)+")  at offset "+i+" not in 0x00-0xFF.");chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}Module["intArrayToString"]=intArrayToString;function writeStringToMemory(string,buffer,dontAddNull){var array=intArrayFromString(string,dontAddNull);var i=0;while(i<array.length){var chr=array[i];HEAP8[buffer+i>>0]=chr;i=i+1}}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){for(var i=0;i<array.length;i++){HEAP8[buffer++>>0]=array[i]}}Module["writeArrayToMemory"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;++i){assert(str.charCodeAt(i)===str.charCodeAt(i)&255);HEAP8[buffer++>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}Module["writeAsciiToMemory"]=writeAsciiToMemory;function unSign(value,bits,ignore){if(value>=0){return value}return bits<=32?2*Math.abs(1<<bits-1)+value:Math.pow(2,bits)+value}function reSign(value,bits,ignore){if(value<=0){return value}var half=bits<=32?Math.abs(1<<bits-1):Math.pow(2,bits-1);if(value>=half&&(bits<=32||value>half)){value=-2*half+value}return value}if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math["clz32"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_min=Math.min;var Math_clz32=Math.clz32;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;var runDependencyTracking={};function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(id){assert(!runDependencyTracking[id]);runDependencyTracking[id]=1;if(runDependencyWatcher===null&&typeof setInterval!=="undefined"){runDependencyWatcher=setInterval((function(){if(ABORT){clearInterval(runDependencyWatcher);runDependencyWatcher=null;return}var shown=false;for(var dep in runDependencyTracking){if(!shown){shown=true;Module.printErr("still waiting on run dependencies:")}Module.printErr("dependency: "+dep)}if(shown){Module.printErr("(end of list)")}}),1e4)}}else{Module.printErr("warning: run dependency added without ID")}}Module["addRunDependency"]=addRunDependency;function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(id){assert(runDependencyTracking[id]);delete runDependencyTracking[id]}else{Module.printErr("warning: run dependency removed without ID")}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;STATIC_BASE=8;STATICTOP=STATIC_BASE+49568;__ATINIT__.push();allocate([32,0,0,0,88,0,0,0,168,0,0,0,224,0,0,0,0,1,0,0,0,0,0,0,67,82,69,65,84,69,32,84,65,66,76,69,32,116,49,40,97,32,73,78,84,69,71,69,82,44,32,98,32,73,78,84,69,71,69,82,44,32,99,32,86,65,82,67,72,65,82,40,49,48,48,41,41,59,0,0,73,78,83,69,82,84,32,73,78,84,79,32,116,49,32,86,65,76,85,69,83,40,49,44,49,51,49,53,51,44,39,116,104,105,114,116,101,101,110,32,116,104,111,117,115,97,110,100,32,111,110,101,32,104,117,110,100,114,101,100,32,102,105,102,116,121,32,116,104,114,101,101,39,41,59,0,0,0,0,0,73,78,83,69,82,84,32,73,78,84,79,32,116,49,32,86,65,76,85,69,83,40,49,44,57,56,55,44,39,115,111,109,101,32,111,116,104,101,114,32,110,117,109,98,101,114,39,41,59,0,0,0,0,0,0,0,83,69,76,69,67,84,32,99,111,117,110,116,40,42,41,32,70,82,79,77,32,116,49,59,0,0,0,0,0,0,0,0,83,69,76,69,67,84,32,97,44,32,98,44,32,99,32,70,82,79,77,32,116,49,59],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);allocate([114,99,32,61,61,32,83,81,76,73,84,69,95,79,75,0,116,101,115,116,46,99,0,0,116,101,115,116,49,0,0,0,99,111,117,110,116,40,42,41,61,50,97,61,49,98,61,49,51,49,53,51,99,61,116,104,105,114,116,101,101,110,32,116,104,111,117,115,97,110,100,32,111,110,101,32,104,117,110,100,114,101,100,32,102,105,102,116,121,32,116,104,114,101,101,97,61,49,98,61,57,56,55,99,61,115,111,109,101,32,111,116,104,101,114,32,110,117,109,98,101,114,0,0,0,0,0,0,115,116,114,99,109,112,40,98,117,102,102,101,114,44,32,69,88,80,69,67,84,69,68,41,32,61,61,32,48,0,0,0,51,46,56,46,57,0,0,0,83,81,76,73,84,69,95,0,104,191,0,0,120,191,0,0,136,191,0,0,152,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,254,255,255,127,0,0,0,0,128,0,0,0,244,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,250,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,208,38,0,0,216,38,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,224,38,0,0,240,38,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,248,38,0,0,8,39,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,16,39,0,0,216,38,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,117,110,105,120,0,0,0,0,7,0,0,0,0,0,0,0,117,110,105,120,45,110,111,110,101,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,117,110,105,120,45,100,111,116,102,105,108,101,0,0,0,0,9,0,0,0,0,0,0,0,117,110,105,120,45,101,120,99,108,0,0,0,0,0,0,0,115,111,117,114,99,101,32,97,110,100,32,100,101,115,116,105,110,97,116,105,111,110,32,109,117,115,116,32,98,101,32,100,105,115,116,105,110,99,116,0,0,0,0,64,0,0,0,0,4,5,3,5,1,5,1,5,2,5,2,5,1,5,1,5,4,5,3,5,1,5,1,5,2,5,2,5,1,5,1,5,115,116,114,105,110,103,32,111,114,32,98,108,111,98,32,116,111,111,32,98,105,103,0,0,145,0,0,0,54,0,0,0,55,0,0,0,31,1,1,1,70,0,10,1,47,0,0,1,35,1,0,0,16,0,4,0,61,0,0,0,24,0,0,0,99,97,110,110,111,116,32,111,112,101,110,32,118,105,114,116,117,97,108,32,116,97,98,108,101,58,32,37,115,0,0,0,99,97,110,110,111,116,32,111,112,101,110,32,116,97,98,108,101,32,119,105,116,104,111,117,116,32,114,111,119,105,100,58,32,37,115,0,0,0,0,0,99,97,110,110,111,116,32,111,112,101,110,32,118,105,101,119,58,32,37,115,0,0,0,0,110,111,32,115,117,99,104,32,99,111,108,117,109,110,58,32,34,37,115,34,0,0,0,0,102,111,114,101,105,103,110,32,107,101,121,0,0,0,0,0,105,110,100,101,120,101,100,0,99,97,110,110,111,116,32,111,112,101,110,32,37,115,32,99,111,108,117,109,110,32,102,111,114,32,119,114,105,116,105,110,103,0,0,0,0,0,0,0,37,115,0,0,0,0,0,0,42,63,91,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,10,10,10,10,10,10,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,0,0,0,64,0,42,42,42,42,42,42,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,0,0,0,0,0,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,4,3,2,5,0,0,0,1,0,2,3,4,2,2,2,1,1,2,3,4,2,2,2,1,2,2,2,2,2,2,2,1,3,3,2,4,2,2,2,1,4,2,2,2,4,5,2,6,5,5,5,5,5,5,5,6,6,5,5,5,5,5,7,1,7,5,5,5,5,5,5,99,114,101,97,116,101,0,0,116,114,105,103,103,101,114,0,116,101,109,112,0,0,0,0,116,101,109,112,111,114,97,114,121,0,0,0,0,0,0,0,101,110,100,0,0,0,0,0,101,120,112,108,97,105,110,0,50,48,49,53,45,48,52,45,48,56,32,49,50,58,49,54,58,51,51,32,56,97,56,102,102,99,56,54,50,101,57,54,102,53,55,97,97,54,57,56,102,57,51,100,101,49,48,100,101,101,50,56,101,54,57,102,54,101,48,57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,234,3,0,0,0,0,8,0,235,3,0,0,0,0,128,0,117,110,107,110,111,119,110,32,100,97,116,97,98,97,115,101,58,32,37,115,0,0,0,0,111,0,117,0,116,0,32,0,111,0,102,0,32,0,109,0,101,0,109,0,111,0,114,0,121,0,0,0,0,0,0,0,108,0,105,0,98,0,114,0,97,0,114,0,121,0,32,0,114,0,111,0,117,0,116,0,105,0,110,0,101,0,32,0,99,0,97,0,108,0,108,0,101,0,100,0,32,0,111,0,117,0,116,0,32,0,111,0,102,0,32,0,115,0,101,0,113,0,117,0,101,0,110,0,99,0,101,0,0,0,0,0,0,202,154,59,0,202,154,59,208,7,0,0,232,3,0,0,244,1,0,0,168,97,0,0,127,0,0,0,10,0,0,0,80,195,0,0,231,3,0,0,232,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,73,78,84,69,71,69,82,0,66,73,78,65,82,89,0,0,110,111,32,115,117,99,104,32,116,97,98,108,101,32,99,111,108,117,109,110,58,32,37,115,46,37,115,0,0,0,0,0,57,50,50,51,51,55,50,48,51,54,56,53,52,55,55,53,56,48,0,0,0,0,0,0,111,110,111,102,102,97,108,115,101,121,101,115,116,114,117,101,102,117,108,108,0,0,0,0,0,1,2,4,9,12,16,0,2,2,3,5,3,4,4,0,1,0,0,0,1,1,2,0,82,69,73,78,68,69,88,69,68,69,83,67,65,80,69,65,67,72,69,67,75,69,89,66,69,70,79,82,69,73,71,78,79,82,69,71,69,88,80,76,65,73,78,83,84,69,65,68,68,65,84,65,66,65,83,69,76,69,67,84,65,66,76,69,70,84,72,69,78,68,69,70,69,82,82,65,66,76,69,76,83,69,88,67,69,80,84,82,65,78,83,65,67,84,73,79,78,65,84,85,82,65,76,84,69,82,65,73,83,69,88,67,76,85,83,73,86,69,88,73,83,84,83,65,86,69,80,79,73,78,84,69,82,83,69,67,84,82,73,71,71,69,82,69,70,69,82,69,78,67,69,83,67,79,78,83,84,82,65,73,78,84,79,70,70,83,69,84,69,77,80,79,82,65,82,89,85,78,73,81,85,69,82,89,87,73,84,72,79,85,84,69,82,69,76,69,65,83,69,65,84,84,65,67,72,65,86,73,78,71,82,79,85,80,68,65,84,69,66,69,71,73,78,78,69,82,69,67,85,82,83,73,86,69,66,69,84,87,69,69,78,79,84,78,85,76,76,73,75,69,67,65,83,67,65,68,69,76,69,84,69,67,65,83,69,67,79,76,76,65,84,69,67,82,69,65,84,69,67,85,82,82,69,78,84,95,68,65,84,69,68,69,84,65,67,72,73,77,77,69,68,73,65,84,69,74,79,73,78,83,69,82,84,77,65,84,67,72,80,76,65,78,65,76,89,90,69,80,82,65,71,77,65,66,79,82,84,86,65,76,85,69,83,86,73,82,84,85,65,76,73,77,73,84,87,72,69,78,87,72,69,82,69,78,65,77,69,65,70,84,69,82,69,80,76,65,67,69,65,78,68,69,70,65,85,76,84,65,85,84,79,73,78,67,82,69,77,69,78,84,67,65,83,84,67,79,76,85,77,78,67,79,77,77,73,84,67,79,78,70,76,73,67,84,67,82,79,83,83,67,85,82,82,69,78,84,95,84,73,77,69,83,84,65,77,80,82,73,77,65,82,89,68,69,70,69,82,82,69,68,73,83,84,73,78,67,84,68,82,79,80,70,65,73,76,70,82,79,77,70,85,76,76,71,76,79,66,89,73,70,73,83,78,85,76,76,79,82,68,69,82,69,83,84,82,73,67,84,82,73,71,72,84,82,79,76,76,66,65,67,75,82,79,87,85,78,73,79,78,85,83,73,78,71,86,65,67,85,85,77,86,73,69,87,73,78,73,84,73,65,76,76,89,0,0,0,0,0,0,0,76,105,117,74,0,45,0,0,82,0,77,0,0,42,12,78,15,0,116,85,54,112,0,19,0,0,121,0,119,115,0,22,93,0,9,0,0,70,71,0,69,6,0,48,90,102,0,118,101,0,0,44,0,103,24,0,17,0,122,53,23,0,5,110,25,96,0,0,124,106,60,123,57,28,55,0,91,0,100,26,0,99,0,0,0,95,92,97,88,109,14,39,108,0,81,0,18,89,111,32,0,120,80,113,62,46,84,0,0,94,40,59,114,0,36,0,0,29,0,86,63,64,0,20,61,0,56,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,13,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,0,21,0,0,0,0,0,50,0,43,3,47,0,0,0,0,30,0,58,0,38,0,0,0,1,66,0,0,67,0,41,0,0,0,0,0,0,49,65,0,0,0,0,31,52,16,34,10,0,0,0,0,0,0,0,11,72,79,0,8,0,104,98,0,107,0,87,0,75,51,0,27,37,73,83,0,35,68,0,0,0,0,0,0,7,7,5,4,6,4,5,3,6,7,3,6,6,7,7,3,8,2,6,5,4,4,3,10,4,6,11,6,2,7,5,5,9,6,9,9,7,10,10,4,6,2,3,9,4,2,6,5,7,4,5,7,6,6,5,6,5,5,9,7,7,3,2,4,4,7,3,6,4,7,6,12,6,9,4,6,5,4,7,6,5,6,7,5,4,5,6,5,7,3,7,13,2,2,4,6,6,8,5,17,12,7,8,8,2,4,4,4,4,4,2,2,6,5,8,5,8,3,5,5,6,4,9,3,0,0,0,0,0,0,2,0,2,0,8,0,9,0,14,0,16,0,20,0,23,0,25,0,25,0,29,0,33,0,36,0,41,0,46,0,48,0,53,0,54,0,59,0,62,0,65,0,67,0,69,0,78,0,81,0,86,0,91,0,95,0,96,0,101,0,105,0,109,0,117,0,122,0,128,0,136,0,142,0,152,0,159,0,162,0,162,0,165,0,167,0,167,0,171,0,176,0,179,0,184,0,184,0,188,0,192,0,199,0,204,0,209,0,212,0,218,0,221,0,225,0,234,0,240,0,240,0,240,0,243,0,246,0,250,0,251,0,255,0,5,1,9,1,16,1,22,1,34,1,40,1,49,1,51,1,57,1,62,1,64,1,71,1,76,1,81,1,87,1,93,1,98,1,102,1,105,1,111,1,115,1,122,1,124,1,131,1,133,1,135,1,144,1,148,1,154,1,160,1,168,1,173,1,173,1,189,1,196,1,203,1,204,1,211,1,215,1,219,1,223,1,227,1,230,1,232,1,234,1,240,1,244,1,252,1,1,2,9,2,12,2,17,2,22,2,28,2,32,2,37,2,67,28,140,42,84,44,104,53,35,113,46,47,50,2,49,142,41,24,119,16,98,138,11,112,139,117,6,30,107,98,141,57,9,20,13,118,62,105,99,131,55,54,111,21,21,71,103,3,25,66,98,14,34,128,127,110,5,98,58,74,77,19,52,101,50,37,33,109,136,95,17,69,43,8,124,108,51,4,32,56,29,120,65,129,137,130,68,31,59,72,100,106,15,75,38,39,10,40,98,69,69,102,7,121,73,114,45,123,98,50,36,18,76,126,60,98,12,61,115,125,63,64,48,116,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,82,79,87,73,68,95,0,82,79,87,73,68,0,0,0,79,73,68,0,0,0,0,0,67,82,69,65,84,69,32,84,65,66,76,69,32,115,113,108,105,116,101,95,109,97,115,116,101,114,40,10,32,32,116,121,112,101,32,116,101,120,116,44,10,32,32,110,97,109,101,32,116,101,120,116,44,10,32,32,116,98,108,95,110,97,109,101,32,116,101,120,116,44,10,32,32,114,111,111,116,112,97,103,101,32,105,110,116,101,103,101,114,44,10,32,32,115,113,108,32,116,101,120,116,10,41,0,67,82,69,65,84,69,32,84,69,77,80,32,84,65,66,76,69,32,115,113,108,105,116,101,95,116,101,109,112,95,109,97,115,116,101,114,40,10,32,32,116,121,112,101,32,116,101,120,116,44,10,32,32,110,97,109,101,32,116,101,120,116,44,10,32,32,116,98,108,95,110,97,109,101,32,116,101,120,116,44,10,32,32,114,111,111,116,112,97,103,101,32,105,110,116,101,103,101,114,44,10,32,32,115,113,108,32,116,101,120,116,10,41,0,0,0,0,0,0,0,115,113,108,105,116,101,95,116,101,109,112,95,109,97,115,116,101,114,0,0,0,0,0,0,115,113,108,105,116,101,95,109,97,115,116,101,114,0,0,0,49,0,0,0,0,0,0,0,97,116,116,97,99,104,101,100,32,100,97,116,97,98,97,115,101,115,32,109,117,115,116,32,117,115,101,32,116,104,101,32,115,97,109,101,32,116,101,120,116,32,101,110,99,111,100,105,110,103,32,97,115,32,109,97,105,110,32,100,97,116,97,98,97,115,101,0,0,0,0,0,117,110,115,117,112,112,111,114,116,101,100,32,102,105,108,101,32,102,111,114,109,97,116,0,83,69,76,69,67,84,32,110,97,109,101,44,32,114,111,111,116,112,97,103,101,44,32,115,113,108,32,70,82,79,77,32,39,37,113,39,46,37,115,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,0,0,115,113,108,105,116,101,95,115,116,97,116,49,0,0,0,0,83,69,76,69,67,84,32,116,98,108,44,105,100,120,44,115,116,97,116,32,70,82,79,77,32,37,81,46,115,113,108,105,116,101,95,115,116,97,116,49,0,0,0,0,0,0,0,0,117,110,111,114,100,101,114,101,100,42,0,0,0,0,0,0,115,122,61,91,48,45,57,93,42,0,0,0,0,0,0,0,110,111,115,107,105,112,115,99,97,110,42,0,0,0,0,0,0,0,2,0,3,0,5,0,6,0,7,0,8,0,9,0,33,0,32,0,30,0,28,0,26,0,0,0,0,0,0,0,105,110,118,97,108,105,100,32,114,111,111,116,112,97,103,101,0,0,0,0,0,0,0,0,63,0,0,0,0,0,0,0,109,97,108,102,111,114,109,101,100,32,100,97,116,97,98,97,115,101,32,115,99,104,101,109,97,32,40,37,115,41,0,0,37,115,32,45,32,37,115,0,100,97,116,97,98,97,115,101,32,99,111,114,114,117,112,116,105,111,110,32,97,116,32,108,105,110,101,32,37,100,32,111,102,32,91,37,46,49,48,115,93,0,0,0,0,0,0,0,109,105,115,117,115,101,32,97,116,32,108,105,110,101,32,37,100,32,111,102,32,91,37,46,49,48,115,93,0,0,0,0,117,110,97,98,108,101,32,116,111,32,100,101,108,101,116,101,47,109,111,100,105,102,121,32,99,111,108,108,97,116,105,111,110,32,115,101,113,117,101,110,99,101,32,100,117,101,32,116,111,32,97,99,116,105,118,101,32,115,116,97,116,101,109,101,110,116,115,0,0,0,0,0,78,79,67,65,83,69,0,0,82,84,82,73,77,0,0,0,109,97,105,110,0,0,0,0,10,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,6,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,13,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,8,0,0,0,14,0,0,0,3,0,0,0,4,0,0,0,9,0,0,0,10,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,19,0,0,0,1,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,11,0,0,0,6,0,0,0,7,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,9,0,0,0,28,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,7,0,0,0,14,0,0,0,15,0,0,0,1,0,0,0,2,0,0,0,16,0,0,0,29,0,0,0,1,0,0,0,0,0,0,0,3,0,0,0,17,0,0,0,1,0,0,0,2,0,0,0,18,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,8,0,0,0,9,0,0,0,12,0,0,0,1,0,0,0,33,0,0,0,19,0,0,0,2,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,3,0,0,0,13,0,0,0,14,0,0,0,7,0,0,0,5,0,0,0,20,0,0,0,1,0,0,0,1,0,0,0,21,0,0,0,15,0,0,0,34,0,0,0,16,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,1,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,35,0,0,0,17,0,0,0,10,0,0,0,11,0,0,0,34,0,0,0,12,0,0,0,18,0,0,0,35,0,0,0,36,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,37,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,38,0,0,0,5,0,0,0,6,0,0,0,39,0,0,0,7,0,0,0,40,0,0,0,36,0,0,0,41,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,37,0,0,0,6,0,0,0,42,0,0,0,38,0,0,0,19,0,0,0,39,0,0,0,43,0,0,0,10,0,0,0,44,0,0,0,11,0,0,0,45,0,0,0,46,0,0,0,40,0,0,0,47,0,0,0,48,0,0,0,2,0,0,0,20,0,0,0,49,0,0,0,13,0,0,0,50,0,0,0,5,0,0,0,41,0,0,0,5,0,0,0,21,0,0,0,22,0,0,0,0,0,0,0,42,0,0,0,43,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,51,0,0,0,52,0,0,0,44,0,0,0,45,0,0,0,53,0,0,0,54,0,0,0,55,0,0,0,56,0,0,0,46,0,0,0,26,0,0,0,12,0,0,0,47,0,0,0,13,0,0,0,14,0,0,0,57,0,0,0,3,0,0,0,1,0,0,0,58,0,0,0,14,0,0,0,48,0,0,0,59,0,0,0,27,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,49,0,0,0,97,117,116,111,109,97,116,105,99,32,101,120,116,101,110,115,105,111,110,32,108,111,97,100,105,110,103,32,102,97,105,108,101,100,58,32,37,115,0,0,77,65,84,67,72,0,0,0,58,109,101,109,111,114,121,58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,60,0,0,0,15,0,0,0,16,0,0,0,28,0,0,0,50,0,0,0,51,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,101,99,111,118,101,114,101,100,32,37,100,32,112,97,103,101,115,32,102,114,111,109,32,37,115,0,0,0,0,0,0,217,213,5,249,32,161,99,215,99,97,110,110,111,116,32,108,105,109,105,116,32,87,65,76,32,115,105,122,101,58,32,37,115,0,0,0,0,0,0,0,99,97,110,110,111,116,32,111,112,101,110,32,102,105,108,101,32,97,116,32,108,105,110,101,32,37,100,32,111,102,32,91,37,46,49,48,115,93,0,0,114,101,99,111,118,101,114,101,100,32,37,100,32,102,114,97,109,101,115,32,102,114,111,109,32,87,65,76,32,102,105,108,101,32,37,115,0,0,0,0,45,106,111,117,114,110,97,108,0,0,0,0,0,0,0,0,45,119,97,108,0,0,0,0,110,111,108,111,99,107,0,0,105,109,109,117,116,97,98,108,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,105,108,101,58,0,0,0,108,111,99,97,108,104,111,115,116,0,0,0,0,0,0,0,105,110,118,97,108,105,100,32,117,114,105,32,97,117,116,104,111,114,105,116,121,58,32,37,46,42,115,0,0,0,0,0,118,102,115,0,0,0,0,0,99,97,99,104,101,0,0,0,232,58,0,0,0,0,2,0,240,58,0,0,0,0,4,0,0,0,0,0,0,0,0,0,115,104,97,114,101,100,0,0,112,114,105,118,97,116,101,0,109,111,100,101,0,0,0,0,40,59,0,0,1,0,0,0,48,59,0,0,2,0,0,0,56,59,0,0,6,0,0,0,64,59,0,0,128,0,0,0,0,0,0,0,0,0,0,0,114,111,0,0,0,0,0,0,114,119,0,0,0,0,0,0,114,119,99,0,0,0,0,0,109,101,109,111,114,121,0,0,97,99,99,101,115,115,0,0,110,111,32,115,117,99,104,32,37,115,32,109,111,100,101,58,32,37,115,0,0,0,0,0,37,115,32,109,111,100,101,32,110,111,116,32,97,108,108,111,119,101,100,58,32,37,115,0,110,111,32,115,117,99,104,32,118,102,115,58,32,37,115,0,105,110,118,97,108,105,100,0,65,80,73,32,99,97,108,108,32,119,105,116,104,32,37,115,32,100,97,116,97,98,97,115,101,32,99,111,110,110,101,99,116,105,111,110,32,112,111,105,110,116,101,114,0,0,0,0,117,110,97,98,108,101,32,116,111,32,117,115,101,32,102,117,110,99,116,105,111,110,32,37,115,32,105,110,32,116,104,101,32,114,101,113,117,101,115,116,101,100,32,99,111,110,116,101,120,116,0,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,0,1,2,3,4,5,6,7,0,1,2,3,0,1,0,0,117,110,97,98,108,101,32,116,111,32,100,101,108,101,116,101,47,109,111,100,105,102,121,32,117,115,101,114,45,102,117,110,99,116,105,111,110,32,100,117,101,32,116,111,32,97,99,116,105,118,101,32,115,116,97,116,101,109,101,110,116,115,0,0,240,60,0,0,0,61,0,0,0,0,0,0,40,61,0,0,72,61,0,0,104,61,0,0,128,61,0,0,160,61,0,0,176,61,0,0,216,61,0,0,232,61,0,0,248,61,0,0,32,62,0,0,56,62,0,0,88,62,0,0,120,62,0,0,144,62,0,0,168,62,0,0,112,39,0,0,200,62,0,0,224,62,0,0,248,62,0,0,32,63,0,0,64,63,0,0,88,63,0,0,120,63,0,0,160,63,0,0,0,0,0,0,110,111,116,32,97,110,32,101,114,114,111,114,0,0,0,0,83,81,76,32,108,111,103,105,99,32,101,114,114,111,114,32,111,114,32,109,105,115,115,105,110,103,32,100,97,116,97,98,97,115,101,0,0,0,0,0,97,99,99,101,115,115,32,112,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,0,0,0,0,0,0,0,99,97,108,108,98,97,99,107,32,114,101,113,117,101,115,116,101,100,32,113,117,101,114,121,32,97,98,111,114,116,0,0,100,97,116,97,98,97,115,101,32,105,115,32,108,111,99,107,101,100,0,0,0,0,0,0,100,97,116,97,98,97,115,101,32,116,97,98,108,101,32,105,115,32,108,111,99,107,101,100,0,0,0,0,0,0,0,0,111,117,116,32,111,102,32,109,101,109,111,114,121,0,0,0,97,116,116,101,109,112,116,32,116,111,32,119,114,105,116,101,32,97,32,114,101,97,100,111,110,108,121,32,100,97,116,97,98,97,115,101,0,0,0,0,105,110,116,101,114,114,117,112,116,101,100,0,0,0,0,0,100,105,115,107,32,73,47,79,32,101,114,114,111,114,0,0,100,97,116,97,98,97,115,101,32,100,105,115,107,32,105,109,97,103,101,32,105,115,32,109,97,108,102,111,114,109,101,100,0,0,0,0,0,0,0,0,117,110,107,110,111,119,110,32,111,112,101,114,97,116,105,111,110,0,0,0,0,0,0,0,100,97,116,97,98,97,115,101,32,111,114,32,100,105,115,107,32,105,115,32,102,117,108,108,0,0,0,0,0,0,0,0,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,100,97,116,97,98,97,115,101,32,102,105,108,101,0,0,0,0,108,111,99,107,105,110,103,32,112,114,111,116,111,99,111,108,0,0,0,0,0,0,0,0,116,97,98,108,101,32,99,111,110,116,97,105,110,115,32,110,111,32,100,97,116,97,0,0,100,97,116,97,98,97,115,101,32,115,99,104,101,109,97,32,104,97,115,32,99,104,97,110,103,101,100,0,0,0,0,0,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,0,0,0,0,0,0,100,97,116,97,116,121,112,101,32,109,105,115,109,97,116,99,104,0,0,0,0,0,0,0,108,105,98,114,97,114,121,32,114,111,117,116,105,110,101,32,99,97,108,108,101,100,32,111,117,116,32,111,102,32,115,101,113,117,101,110,99,101,0,0,108,97,114,103,101,32,102,105,108,101,32,115,117,112,112,111,114,116,32,105,115,32,100,105,115,97,98,108,101,100,0,0,97,117,116,104,111,114,105,122,97,116,105,111,110,32,100,101,110,105,101,100,0,0,0,0,97,117,120,105,108,105,97,114,121,32,100,97,116,97,98,97,115,101,32,102,111,114,109,97,116,32,101,114,114,111,114,0,98,105,110,100,32,111,114,32,99,111,108,117,109,110,32,105,110,100,101,120,32,111,117,116,32,111,102,32,114,97,110,103,101,0,0,0,0,0,0,0,102,105,108,101,32,105,115,32,101,110,99,114,121,112,116,101,100,32,111,114,32,105,115,32,110,111,116,32,97,32,100,97,116,97,98,97,115,101,0,0,117,110,107,110,111,119,110,32,101,114,114,111,114,0,0,0,97,98,111,114,116,32,100,117,101,32,116,111,32,82,79,76,76,66,65,67,75,0,0,0,117,110,97,98,108,101,32,116,111,32,99,108,111,115,101,32,100,117,101,32,116,111,32,117,110,102,105,110,97,108,105,122,101,100,32,115,116,97,116,101,109,101,110,116,115,32,111,114,32,117,110,102,105,110,105,115,104,101,100,32,98,97,99,107,117,112,115,0,0,0,0,0,1,0,0,0,0,0,0,0,61,0,0,0,8,0,0,0,29,0,0,0,7,0,0,0,62,0,0,0,30,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,0,0,0,0,63,0,0,0,11,0,0,0,52,0,0,0,64,0,0,0,65,0,0,0,66,0,0,0,12,0,0,0,0,0,0,0,102,97,105,108,101,100,32,109,101,109,111,114,121,32,114,101,115,105,122,101,32,37,117,32,116,111,32,37,117,32,98,121,116,101,115,0,0,0,0,0,102,97,105,108,101,100,32,116,111,32,97,108,108,111,99,97,116,101,32,37,117,32,98,121,116,101,115,32,111,102,32,109,101,109,111,114,121,0,0,0,1,0,1,8,1,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,48,73,0,0,0,0,0,0,0,0,0,0,2,0,1,8,1,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,48,73,0,0,0,0,0,0,0,0,0,0,1,0,1,8,2,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,56,73,0,0,0,0,0,0,0,0,0,0,2,0,1,8,2,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,56,73,0,0,0,0,0,0,0,0,0,0,1,0,1,8,3,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,64,73,0,0,0,0,0,0,0,0,0,0,2,0,1,8,3,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,64,73,0,0,0,0,0,0,0,0,0,0,255,255,33,8,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,72,73,0,0,0,0,0,0,0,0,0,0,0,0,33,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,73,0,0,0,0,0,0,0,0,0,0,1,0,33,16,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,13,0,0,0,72,73,0,0,0,0,0,0,0,0,0,0,255,255,33,8,1,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,80,73,0,0,0,0,0,0,0,0,0,0,0,0,33,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,73,0,0,0,0,0,0,0,0,0,0,1,0,33,16,1,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,13,0,0,0,80,73,0,0,0,0,0,0,0,0,0,0,1,0,129,8,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,88,73,0,0,0,0,0,0,0,0,0,0,1,0,65,8,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,96,73,0,0,0,0,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,104,73,0,0,0,0,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,112,73,0,0,0,0,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,112,73,0,0,0,0,0,0,0,0,0,0,255,255,1,8,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,120,73,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,15,0,0,0,0,0,0,0,0,0,0,0,128,73,0,0,0,0,0,0,0,0,0,0,255,255,1,8,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,136,73,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,17,0,0,0,0,0,0,0,0,0,0,0,144,73,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,0,0,0,0,152,73,0,0,0,0,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,0,0,0,0,152,73,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,19,0,0,0,0,0,0,0,0,0,0,0,160,73,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,168,73,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,176,73,0,0,0,0,0,0,0,0,0,0,0,0,1,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,176,73,0,0,0,0,0,0,0,0,0,0,255,255,1,10,0,0,0,0,0,0,0,0,21,0,0,0,0,0,0,0,0,0,0,0,176,73,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,22,0,0,0,0,0,0,0,0,0,0,0,192,73,0,0,0,0,0,0,0,0,0,0,2,0,1,10,0,0,0,0,0,0,0,0,21,0,0,0,0,0,0,0,0,0,0,0,200,73,0,0,0,0,0,0,0,0,0,0,1,0,1,12,0,0,0,0,0,0,0,0,21,0,0,0,0,0,0,0,0,0,0,0,208,73,0,0,0,0,0,0,0,0,0,0,2,0,1,12,0,0,0,0,0,0,0,0,21,0,0,0,0,0,0,0,0,0,0,0,224,73,0,0,0,0,0,0,0,0,0,0,1,0,1,12,0,0,0,0,0,0,0,0,21,0,0,0,0,0,0,0,0,0,0,0,240,73,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,23,0,0,0,0,0,0,0,0,0,0,0,248,73,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,0,0,0,0,74,0,0,0,0,0,0,0,0,0,0,2,0,33,8,0,0,0,0,0,0,0,0,25,0,0,0,0,0,0,0,0,0,0,0,16,74,0,0,0,0,0,0,0,0,0,0,0,0,1,8,0,0,0,0,0,0,0,0,21,0,0,0,0,0,0,0,0,0,0,0,24,74,0,0,0,0,0,0,0,0,0,0,0,0,1,8,0,0,0,0,0,0,0,0,26,0,0,0,0,0,0,0,0,0,0,0,40,74,0,0,0,0,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,27,0,0,0,0,0,0,0,0,0,0,0,64,74,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,28,0,0,0,0,0,0,0,0,0,0,0,80,74,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,29,0,0,0,0,0,0,0,0,0,0,0,112,74,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,30,0,0,0,0,0,0,0,0,0,0,0,144,74,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,152,74,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,176,74,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,33,0,0,0,0,0,0,0,0,0,0,0,184,74,0,0,0,0,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,34,0,0,0,0,0,0,0,0,0,0,0,200,74,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,35,0,0,0,0,0,0,0,0,0,0,0,208,74,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,36,0,0,0,0,0,0,0,0,0,0,0,224,74,0,0,0,0,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,36,0,0,0,0,0,0,0,0,0,0,0,224,74,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,14,0,0,0,240,74,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,15,0,0,0,248,74,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,16,0,0,0,0,75,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,38,0,0,0,17,0,0,0,8,75,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,38,0,0,0,17,0,0,0,8,75,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,39,0,0,0,18,0,0,0,16,75,0,0,0,0,0,0,0,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,39,0,0,0,18,0,0,0,16,75,0,0,0,0,0,0,0,0,0,0,2,0,13,8,112,40,0,0,0,0,0,0,40,0,0,0,0,0,0,0,0,0,0,0,32,75,0,0,0,0,0,0,0,0,0,0,2,0,5,8,40,75,0,0,0,0,0,0,40,0,0,0,0,0,0,0,0,0,0,0,48,75,0,0,0,0,0,0,0,0,0,0,3,0,5,8,40,75,0,0,0,0,0,0,40],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+8464);allocate([48,75,0,0,0,0,0,0,0,0,0,0,0,0,0,0,108,116,114,105,109,0,0,0,114,116,114,105,109,0,0,0,116,114,105,109,0,0,0,0,109,105,110,0,0,0,0,0,109,97,120,0,0,0,0,0,116,121,112,101,111,102,0,0,108,101,110,103,116,104,0,0,105,110,115,116,114,0,0,0,115,117,98,115,116,114,0,0,112,114,105,110,116,102,0,0,117,110,105,99,111,100,101,0,99,104,97,114,0,0,0,0,97,98,115,0,0,0,0,0,114,111,117,110,100,0,0,0,117,112,112,101,114,0,0,0,108,111,119,101,114,0,0,0,99,111,97,108,101,115,99,101,0,0,0,0,0,0,0,0,104,101,120,0,0,0,0,0,105,102,110,117,108,108,0,0,117,110,108,105,107,101,108,121,0,0,0,0,0,0,0,0,108,105,107,101,108,105,104,111,111,100,0,0,0,0,0,0,108,105,107,101,108,121,0,0,114,97,110,100,111,109,0,0,114,97,110,100,111,109,98,108,111,98,0,0,0,0,0,0,110,117,108,108,105,102,0,0,115,113,108,105,116,101,95,118,101,114,115,105,111,110,0,0,115,113,108,105,116,101,95,115,111,117,114,99,101,95,105,100,0,0,0,0,0,0,0,0,115,113,108,105,116,101,95,108,111,103,0,0,0,0,0,0,115,113,108,105,116,101,95,99,111,109,112,105,108,101,111,112,116,105,111,110,95,117,115,101,100,0,0,0,0,0,0,0,115,113,108,105,116,101,95,99,111,109,112,105,108,101,111,112,116,105,111,110,95,103,101,116,0,0,0,0,0,0,0,0,113,117,111,116,101,0,0,0,108,97,115,116,95,105,110,115,101,114,116,95,114,111,119,105,100,0,0,0,0,0,0,0,99,104,97,110,103,101,115,0,116,111,116,97,108,95,99,104,97,110,103,101,115,0,0,0,114,101,112,108,97,99,101,0,122,101,114,111,98,108,111,98,0,0,0,0,0,0,0,0,108,111,97,100,95,101,120,116,101,110,115,105,111,110,0,0,115,117,109,0,0,0,0,0,116,111,116,97,108,0,0,0,97,118,103,0,0,0,0,0,99,111,117,110,116,0,0,0,103,114,111,117,112,95,99,111,110,99,97,116,0,0,0,0,103,108,111,98,0,0,0,0,37,95,0,1,0,0,0,0,108,105,107,101,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,41,0,0,0,0,0,0,0,0,0,0,0,168,75,0,0,0,0,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,42,0,0,0,0,0,0,0,0,0,0,0,192,75,0,0,0,0,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,43,0,0,0,0,0,0,0,0,0,0,0,216,75,0,0,0,0,0,0,0,0,0,0,0,0,0,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,97,98,108,101,0,0,0,0,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,0,0,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,112,97,114,101,110,116,0,0,0,0,37,115,37,46,42,115,34,37,119,34,0,0,0,0,0,0,37,115,37,115,0,0,0,0,37,46,42,115,34,37,119,34,37,115,0,0,0,0,0,0,255,255,1,8,0,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,0,0,56,77,0,0,0,0,0,0,0,0,0,0,255,255,1,8,0,0,0,0,0,0,0,0,45,0,0,0,0,0,0,0,0,0,0,0,72,77,0,0,0,0,0,0,0,0,0,0,255,255,1,8,0,0,0,0,0,0,0,0,46,0,0,0,0,0,0,0,0,0,0,0,80,77,0,0,0,0,0,0,0,0,0,0,255,255,1,8,0,0,0,0,0,0,0,0,47,0,0,0,0,0,0,0,0,0,0,0,88,77,0,0,0,0,0,0,0,0,0,0,255,255,1,8,0,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,0,0,0,0,104,77,0,0,0,0,0,0,0,0,0,0,0,0,1,8,0,0,0,0,0,0,0,0,49,0,0,0,0,0,0,0,0,0,0,0,120,77,0,0,0,0,0,0,0,0,0,0,0,0,1,8,0,0,0,0,0,0,0,0,50,0,0,0,0,0,0,0,0,0,0,0,136,77,0,0,0,0,0,0,0,0,0,0,0,0,1,8,0,0,0,0,0,0,0,0,51,0,0,0,0,0,0,0,0,0,0,0,160,77,0,0,0,0,0,0,0,0,0,0,106,117,108,105,97,110,100,97,121,0,0,0,0,0,0,0,100,97,116,101,0,0,0,0,116,105,109,101,0,0,0,0,100,97,116,101,116,105,109,101,0,0,0,0,0,0,0,0,115,116,114,102,116,105,109,101,0,0,0,0,0,0,0,0,99,117,114,114,101,110,116,95,116,105,109,101,0,0,0,0,99,117,114,114,101,110,116,95,116,105,109,101,115,116,97,109,112,0,0,0,0,0,0,0,99,117,114,114,101,110,116,95,100,97,116,101,0,0,0,0,37,48,50,100,0,0,0,0,37,48,54,46,51,102,0,0,37,48,51,100,0,0,0,0,37,46,49,54,103,0,0,0,37,108,108,100,0,0,0,0,37,48,52,100,0,0,0,0,108,111,99,97,108,116,105,109,101,0,0,0,0,0,0,0,117,110,105,120,101,112,111,99,104,0,0,0,0,0,0,0,117,116,99,0,0,0,0,0,119,101,101,107,100,97,121,32,0,0,0,0,0,0,0,0,115,116,97,114,116,32,111,102,32,0,0,0,0,0,0,0,109,111,110,116,104,0,0,0,121,101,97,114,0,0,0,0,100,97,121,0,0,0,0,0,104,111,117,114,0,0,0,0,109,105,110,117,116,101,0,0,115,101,99,111,110,100,0,0,108,111,99,97,108,32,116,105,109,101,32,117,110,97,118,97,105,108,97,98,108,101,0,0,110,111,119,0,0,0,0,0,37,48,52,100,45,37,48,50,100,45,37,48,50,100,32,37,48,50,100,58,37,48,50,100,58,37,48,50,100,0,0,0,37,48,50,100,58,37,48,50,100,58,37,48,50,100,0,0,37,48,52,100,45,37,48,50,100,45,37,48,50,100,0,0,76,73,75,69,32,111,114,32,71,76,79,66,32,112,97,116,116,101,114,110,32,116,111,111,32,99,111,109,112,108,101,120,0,0,0,0,0,0,0,0,69,83,67,65,80,69,32,101,120,112,114,101,115,115,105,111,110,32,109,117,115,116,32,98,101,32,97,32,115,105,110,103,108,101,32,99,104,97,114,97,99,116,101,114,0,0,0,0,44,0,0,0,0,0,0,0,105,110,116,101,103,101,114,32,111,118,101,114,102,108,111,119,0,0,0,0,0,0,0,0,37,33,46,49,53,103,0,0,37,33,46,50,48,101,0,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,78,85,76,76,0,0,0,0,37,46,42,102,0,0,0,0,105,110,116,101,103,101,114,0,116,101,120,116,0,0,0,0,114,101,97,108,0,0,0,0,98,108,111,98,0,0,0,0,110,117,108,108,0,0,0,0,1,0,0,0,0,0,0,0,152,79,0,0,0,0,0,0,32,0,0,0,0,0,0,0,105,110,116,101,114,114,117,112,116,0,0,0,0,0,0,0,117,110,114,101,99,111,103,110,105,122,101,100,32,116,111,107,101,110,58,32,34,37,84,34,0,0,0,0,0,0,0,0,110,101,97,114,32,34,37,84,34,58,32,115,121,110,116,97,120,32,101,114,114,111,114,0,114,111,119,105,100,0,0,0,117,110,107,110,111,119,110,32,116,97,98,108,101,32,111,112,116,105,111,110,58,32,37,46,42,115,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,116,111,111,32,109,97,110,121,32,116,101,114,109,115,32,105,110,32,99,111,109,112,111,117,110,100,32,83,69,76,69,67,84,0,0,0,0,0,0,0,115,101,116,32,108,105,115,116,0,0,0,0,0,0,0,0,116,111,111,32,109,97,110,121,32,97,114,103,117,109,101,110,116,115,32,111,110,32,102,117,110,99,116,105,111,110,32,37,84,0,0,0,0,0,0,0,8,130,0,0,1,0,0,0,168,51,0,0,1,0,0,0,105,110,100,101,120,0,0,0,113,117,97,108,105,102,105,101,100,32,116,97,98,108,101,32,110,97,109,101,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,73,78,83,69,82,84,44,32,85,80,68,65,84,69,44,32,97,110,100,32,68,69,76,69,84,69,32,115,116,97,116,101,109,101,110,116,115,32,119,105,116,104,105,110,32,116,114,105,103,103,101,114,115,0,0,116,104,101,32,73,78,68,69,88,69,68,32,66,89,32,99,108,97,117,115,101,32,105,115,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,85,80,68,65,84,69,32,111,114,32,68,69,76,69,84,69,32,115,116,97,116,101,109,101,110,116,115,32,119,105,116,104,105,110,32,116,114,105,103,103,101,114,115,0,0,0,0,0,116,104,101,32,78,79,84,32,73,78,68,69,88,69,68,32,99,108,97,117,115,101,32,105,115,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,85,80,68,65,84,69,32,111,114,32,68,69,76,69,84,69,32,115,116,97,116,101,109,101,110,116,115,32,119,105,116,104,105,110,32,116,114,105,103,103,101,114,115,0,0,0,0,144,1,145,2,145,1,146,1,146,3,147,0,147,1,147,3,148,1,149,3,151,0,151,1,151,2,150,0,150,1,150,1,150,1,149,2,149,2,149,2,153,1,153,0,149,2,149,3,149,5,149,2,154,6,156,1,158,0,158,3,157,1,157,0,155,5,155,2,162,0,162,2,160,3,160,1,164,3,165,1,152,1,152,1,152,1,166,0,166,1,168,1,168,4,168,6,169,1,169,2,170,1,170,1,167,2,167,0,173,2,173,2,173,4,173,3,173,3,173,2,173,2,173,3,173,5,173,2,173,4,173,4,173,1,173,2,178,0,178,1,180,0,180,2,182,2,182,3,182,3,182,3,183,2,183,2,183,1,183,1,183,2,181,3,181,2,184,0,184,2,184,2,161,0,161,2,185,3,185,1,186,1,186,0,187,2,187,7,187,5,187,5,187,10,189,0,189,1,176,0,176,3,190,0,190,2,191,1,191,1,191,1,149,4,193,2,193,0,149,8,149,4,149,1,163,2,195,1,195,3,198,1,198,2,198,1,196,9,196,1,207,4,207,5,199,1,199,1,199,0,210,2,210,0,200,3,200,2,200,4,211,2,211,1,211,0,201,0,201,2,213,2,213,0,212,7,212,7,212,7,159,0,159,2,194,2,214,1,214,2,214,3,214,4,216,2,216,0,215,0,215,3,215,2,217,4,217,0,205,0,205,3,220,4,220,2,177,1,177,1,177,0,203,0,203,3,204,0,204,2,206,0,206,2,206,4,206,4,149,6,202,0,202,2,149,8,221,5,221,3,149,6,149,7,222,2,222,1,223,0,223,3,219,3,219,1,175,1,175,3,174,1,175,1,175,1,175,3,175,5,174,1,174,1,175,1,175,3,175,6,175,5,175,4,174,1,175,3,175,3,175,3,175,3,175,3,175,3,175,3,175,3,224,1,224,2,175,3,175,5,175,2,175,3,175,3,175,4,175,2,175,2,175,2,175,2,225,1,225,2,175,5,226,1,226,2,175,5,175,3,175,5,175,4,175,4,175,5,228,5,228,4,229,2,229,0,227,1,227,0,209,1,209,0,208,3,208,1,149,12,230,1,230,0,179,0,179,3,188,5,188,3,231,0,231,2,149,4,149,1,149,2,149,3,149,5,149,6,149,5,149,6,232,1,232,1,232,1,232,1,232,1,171,2,171,1,172,2,149,5,233,11,235,1,235,1,235,2,235,0,236,1,236,1,236,3,237,0,237,3,238,0,238,2,234,3,234,2,240,1,240,3,241,0,241,3,241,2,239,7,239,5,239,5,239,1,175,4,175,6,192,1,192,1,192,1,149,4,149,6,149,3,243,0,243,2,242,1,242,0,149,1,149,3,149,1,149,3,149,6,149,6,244,1,245,0,245,1,149,1,149,4,246,8,247,1,247,3,248,0,248,2,249,1,249,3,250,1,251,0,251,4,251,2,197,0,197,2,197,3,252,6,252,8,0,0,238,0,186,3,213,0,33,1,54,1,234,0,144,0,61,1,147,255,126,1,121,1,47,1,205,1,133,1,122,1,112,1,46,1,38,1,253,0,139,1,37,1,68,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,254,3,244,3,237,3,230,3,195,3,193,3,191,3,189,3,182,3,179,3,162,3,144,3,105,3,93,3,55,3,42,3,3,3,247,2,208,2,196,2,158,2,145,2,107,2,102,2,100,2,98,2,96,2,94,2,92,2,86,2,83,2,81,2,68,2,30,2,28,2,25,2,23,2,21,2,19,2,17,2,15,2,247,1,130,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,147,1,95,0,191,1,82,0,78,1,248,1,211,1,147,1,221,1,208,1,147,1,147,1,147,1,147,1,92,3,235,2,232,2,17,3,126,2,126,2,158,3,123,3,132,3,131,3,119,3,76,3,72,3,67,3,80,3,62,3,75,3,61,3,24,3,71,3,58,3,225,2,70,3,27,3,21,3,47,0,222,2,18,2,184,2,9,3,199,2,165,2,221,2,218,2,217,2,216,2,215,2,115,2,192,1,64,0,187,0,25,5,22,5,228,4,10,5,249,4,43,5,42,5,41,5,39,5,38,5,36,5,35,5,34,5,33,5,32,5,31,5,30,5,28,5,27,5,24,5,23,5,21,5,18,5,14,5,12,5,9,5,242,4,240,4,235,4,8,5,7,5,214,4,5,5,1,5,0,5,255,4,254,4,227,4,253,4,252,4,251,4,249,4,244,4,243,4,241,4,239,4,237,4,233,4,224,4,213,4,223,4,222,4,219,4,214,4,216,4,211,4,225,4,210,4,209,4,206,4,196,4,190,4,186,4,201,4,195,4,208,4,207,4,173,4,171,4,203,4,200,4,177,4,184,4,218,4,113,4,212,4,205,4,169,4,157,4,197,4,153,4,172,4,155,4,167,4,166,4,162,4,158,4,194,4,192,4,152,4,138,4,159,4,156,4,136,4,175,4,179,4,109,4,71,4,174,4,170,4,164,4,168,4,147,4,145,4,144,4,149,4,150,4,142,4,135,4,117,4,146,4,134,4,143,4,133,4,108,4,121,4,119,4,100,4,104,4,79,4,78,4,76,4,72,4,126,4,125,4,61,4,101,4,56,4,40,4,96,4,73,4,58,4,54,4,49,4,43,4,85,4,83,4,95,4,93,4,92,4,89,4,87,4,84,4,239,3,232,3,234,3,52,4,51,4,57,4,0,0,0,0,50,1,212,0,176,1,187,3,127,2,191,0,187,3,39,1,47,2,88,0,88,0,88,0,88,0,81,0,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,185,0,184,0,183,0,123,2,123,2,36,1,94,2,94,2,88,0,88,0,88,0,88,0,171,2,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,16,0,180,1,85,2,89,0,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,172,2,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,50,1,47,2,84,0,84,0,84,0,83,0,74,1,65,0,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,123,2,123,2,122,2,121,2,182,0,170,2,38,2,123,1,120,1,119,1,17,0,66,1,94,2,94,2,115,1,198,0,223,1,91,0,118,1,82,0,79,0,165,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,86,2,123,2,123,2,107,0,89,0,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,186,0,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,50,1,82,2,82,2,142,0,72,1,71,1,228,1,249,0,88,1,238,0,123,2,123,2,122,2,121,2,73,2,192,1,14,2,13,2,229,0,132,1,1,0,138,1,194,1,72,2,193,1,123,2,123,2,123,2,123,2,63,1,139,1,94,2,94,2,199,0,157,0,17,1,126,1,12,1,125,1,187,0,123,2,123,2,122,2,121,2,55,1,43,2,10,1,81,2,81,2,10,1,91,1,76,2,89,0,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,222,1,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,50,1,16,1,24,2,122,2,121,2,146,0,98,2,197,0,54,1,63,2,182,0,226,1,15,1,123,1,120,1,119,1,250,1,21,0,122,2,121,2,122,2,121,2,123,2,123,2,118,1,99,2,62,2,36,2,184,1,111,0,51,2,94,2,94,2,122,2,121,2,68,1,223,1,96,2,96,2,96,2,44,1,179,1,61,2,119,0,151,1,210,0,162,0,50,2,115,3,80,2,80,2,50,1,89,0,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,250,1,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,108,2,111,0,123,2,123,2,105,1,94,2,94,2,102,1,249,0,93,1,248,0,177,1,243,0,223,1,74,2,122,2,121,2,195,0,99,2,93,0,119,0,221,0,63,2,241,1,22,2,22,2,89,0,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,62,2,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,50,1,77,0,173,1,126,2,61,2,77,2,18,2,240,0,230,0,242,0,105,0,249,0,93,1,248,0,3,2,76,2,208,0,204,1,17,2,52,2,173,0,122,2,121,2,202,3,144,0,174,1,2,0,168,1,228,0,124,1,45,2,94,2,94,2,190,0,153,0,159,0,158,0,2,2,51,0,120,2,119,2,118,2,71,0,24,2,176,1,186,3,196,0,98,2,186,3,102,2,45,0,18,0,89,0,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,5,1,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,50,1,96,2,96,2,96,2,30,2,168,1,146,1,129,1,241,0,250,1,195,1,64,1,211,0,31,2,164,0,180,1,130,1,37,1,195,1,75,2,108,0,240,1,111,0,78,1,135,1,79,2,168,1,102,2,27,0,196,1,197,1,94,2,94,2,72,0,1,1,70,0,3,1,196,1,83,1,86,1,52,2,70,2,68,0,159,1,213,1,72,1,71,1,62,0,102,2,45,0,110,0,137,1,89,0,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,152,0,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,50,1,110,0,243,1,8,2,26,2,146,1,133,1,168,1,110,0,54,2,244,1,81,2,81,2,198,1,82,0,79,0,165,0,168,1,79,2,128,1,52,2,84,1,103,2,188,0,162,0,168,1,94,1,104,2,168,1,102,2,44,0,94,2,94,2,189,1,70,2,44,1,178,1,151,0,19,0,102,2,9,0,56,2,68,2,92,1,103,2,213,1,55,2,102,2,26,0,104,2,102,2,45,0,89,0,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,155,1,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,50,1,67,2,110,0,66,2,9,2,26,1,177,1,142,1,144,1,255,0,230,1,82,0,79,0,165,0,231,1,164,0,82,0,79,0,165,0,232,1,232,1,108,1,131,1,168,1,32,2,32,2,253,1,94,1,106,1,155,0,191,0,94,2,94,2,47,2,130,2,128,2,77,1,82,0,79,0,165,0,49,1,52,2,251,1,56,1,101,1,102,2,45,0,73,1,84,2,83,2,194,0,81,1,89,0,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,168,1,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,50,1,20,0,67,1,150,0,7,1,211,0,31,2,165,1,84,2,83,2,102,2,22,0,168,1,193,0,168,1,28,1,168,1,135,1,168,1,253,1,168,1,65,2,168,1,186,0,79,1,168,1,47,2,168,1,57,1,120,0,34,2,94,2,94,2,67,0,102,2,47,0,102,2,50,0,102,2,48,0,102,2,100,0,102,2,99,0,102,2,101,0,64,2,102,2,102,0,102,2,109,0,70,1,89,0,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,168,1,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,50,1,168,1,55,1,168,1,73,2,54,0,168,1,4,2,5,2,78,2,102,2,112,0,168,1,72,2,168,1,60,2,168,1,195,0,168,1,59,2,168,1,67,0,168,1,102,2,94,0,102,2,98,0,168,1,102,2,97,0,8,1,94,2,94,2,195,0,102,2,46,0,102,2,96,0,102,2,30,0,102,2,49,0,102,2,115,0,102,2,114,0,162,1,229,0,132,1,102,2,113,0,50,1,89,0,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,168,1,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,119,0,168,1,78,2,110,0,116,1,94,2,94,2,195,0,53,0,250,0,102,2,29,0,195,0,216,1,182,1,217,2,190,0,46,1,242,1,14,0,11,2,129,2,2,0,102,2,43,0,50,1,89,0,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,168,1,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,168,1,101,2,196,3,196,3,98,1,94,2,94,2,164,1,56,1,64,0,102,2,42,0,135,1,99,1,27,1,181,1,45,1,255,0,158,1,154,1,239,1,236,1,102,2,28,0,215,1,50,1,89,0,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,168,1,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,168,1,110,0,110,0,110,0,110,0,94,2,94,2,110,0,254,0,13,0,102,2,41,0,20,2,19,2,27,1,225,1,19,2,201,1,28,1,119,0,49,2,100,1,102,2,40,0,28,1,50,1,89,0,78,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,168,1,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,110,0,168,1,85,1,220,0,43,2,94,2,94,2,95,1,43,2,62,1,102,2,95,0,157,1,255,0,83,0,74,1,28,1,28,1,255,0,128,2,77,1,100,1,255,0,102,2,39,0,50,1,100,1,90,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,168,1,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,168,1,61,1,60,1,141,0,209,1,94,2,94,2,219,0,107,2,207,1,102,2,10,0,161,1,206,1,255,0,189,0,254,1,41,2,95,1,207,0,107,1,161,0,102,2,38,0,59,1,218,0,255,0,255,0,80,0,88,2,87,2,89,2,89,2,87,0,87,0,88,0,88,0,88,0,88,0,168,1,86,0,86,0,86,0,86,0,85,0,85,0,84,0,84,0,84,0,83,0,74,1,76,0,163,1,255,0,3,0,110,3,205,1,168,1,247,0,75,1,75,1,102,2,37,0,217,0,76,0,163,1,134,1,3,0,216,0,215,0,166,1,4,0,75,1,75,1,168,1,35,2,12,0,168,1,33,2,102,2,36,0,168,1,29,2,166,1,168,1,28,2,168,1,214,0,168,1,152,1,168,1,27,2,147,1,93,2,93,2,237,0,102,2,25,0,119,0,102,2,24,0,76,2,152,1,102,2,45,0,118,0,102,2,35,0,102,2,34,0,102,2,33,0,102,2,23,0,76,2,60,0,223,0,91,2,90,2,1,2,122,1,73,0,74,0,140,0,139,0,168,1,110,0,9,1,75,0,170,1,169,1,59,0,168,1,98,2,73,0,74,0,37,2,146,1,148,1,168,1,117,1,75,0,170,1,169,1,92,2,138,0,98,2,102,2,11,0,136,1,76,0,163,1,181,0,3,0,102,2,32,0,15,1,113,1,75,1,75,1,237,1,102,2,31,0,149,0,96,2,96,2,96,2,95,2,15,0,166,1,109,1,102,2,8,0,137,0,233,1,136,0,190,0,96,2,96,2,96,2,95,2,15,0,229,1,176,0,135,0,7,0,252,0,221,1,152,1,174,0,133,0,175,0,218,1,57,0,56,0,132,0,130,0,119,0,76,0,163,1,76,2,3,0,212,1,245,0,208,1,171,0,75,1,75,1,125,0,123,0,200,1,191,1,122,0,190,1,104,0,80,1,231,0,166,1,166,0,154,0,73,0,74,0,76,1,116,0,175,1,121,0,53,1,75,0,170,1,169,1,222,0,106,0,98,2,52,1,125,2,204,0,152,1,117,2,115,2,116,2,6,0,200,0,172,1,171,1,34,1,203,0,110,2,201,0,76,2,62,0,63,0,33,1,66,0,163,1,143,1,3,0,145,1,32,1,92,0,143,0,75,1,75,1,31,1,96,2,96,2,96,2,95,2,15,0,73,0,74,0,227,0,166,1,69,1,69,0,160,1,75,0,170,1,169,1,100,2,156,1,98,2,192,0,61,0,57,2,209,0,140,1,226,0,22,1,225,0,127,1,152,1,15,2,46,2,20,1,21,2,40,2,16,2,65,1,11,2,114,1,252,1,180,0,76,2,238,1,179,0,110,1,117,0,253,0,13,1,10,2,247,1,96,2,96,2,96,2,95,2,15,0,39,2,246,1,58,0,18,1,12,2,178,0,73,0,74,0,48,1,245,1,112,1,47,1,206,0,75,0,170,1,169,1,235,1,104,1,98,2,213,0,177,0,227,1,131,0,89,1,42,1,41,1,40,1,202,0,38,1,224,1,234,1,210,1,134,0,172,0,129,0,188,1,90,1,214,1,128,0,58,1,203,1,103,0,127,0,126,0,148,0,124,0,167,0,187,1,235,0,96,2,96,2,96,2,95,2,15,0,186,1,183,1,111,2,234,0,43,1,145,0,71,2,35,1,121,1,69,2,160,0,119,0,156,0,14,1,124,2,203,3,169,0,23,1,114,2,8,2,113,2,217,1,112,2,170,0,109,2,106,2,119,0,168,0,55,0,153,1,167,1,25,2,97,2,30,1,29,1,149,1,58,2,48,2,44,2,5,0,52,0,202,1,42,2,147,0,11,1,7,2,248,1,6,2,150,1,6,1,239,0,4,1,0,2,87,1,255,1,2,1,97,1,53,2,0,1,224,0,251,0,103,1,21,1,19,1,220,1,219,1,246,0,96,1,244,0,211,1,199,1,236,0,233,0,232,0,51,1,185,1,25,1,205,0,163,0,141,1,24,1,23,2,249,1,74,1,105,2,203,3,203,3,203,3,203,3,111,1,203,3,203,3,203,3,203,3,203,3,203,3,203,3,203,3,203,3,203,3,203,3,82,1,0,0,0,0,0,0,100,117,112,108,105,99,97,116,101,32,87,73,84,72,32,116,97,98,108,101,32,110,97,109,101,58,32,37,115,0,0,0,110,111,116,32,97,117,116,104,111,114,105,122,101,100,0,0,97,117,116,104,111,114,105,122,101,114,32,109,97,108,102,117,110,99,116,105,111,110,0,0,67,82,69,65,84,69,32,86,73,82,84,85,65,76,32,84,65,66,76,69,32,37,84,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,116,121,112,101,61,39,116,97,98,108,101,39,44,32,110,97,109,101,61,37,81,44,32,116,98,108,95,110,97,109,101,61,37,81,44,32,114,111,111,116,112,97,103,101,61,48,44,32,115,113,108,61,37,81,32,87,72,69,82,69,32,114,111,119,105,100,61,35,37,100,0,110,97,109,101,61,39,37,113,39,32,65,78,68,32,116,121,112,101,61,39,116,97,98,108,101,39,0,0,0,0,0,0,118,105,114,116,117,97,108,32,116,97,98,108,101,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,0,0,0,0,0,0,67,97,110,110,111,116,32,97,100,100,32,97,32,99,111,108,117,109,110,32,116,111,32,97,32,118,105,101,119,0,0,0,115,113,108,105,116,101,95,97,108,116,101,114,116,97,98,95,37,115,0,0,0,0,0,0,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,97,32,116,101,109,112,111,114,97,114,121,32,100,97,116,97,98,97,115,101,32,102,105,108,101,32,102,111,114,32,115,116,111,114,105,110,103,32,116,101,109,112,111,114,97,114,121,32,116,97,98,108,101,115,0,0,0,115,113,108,105,116,101,95,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,0,0,0,0,67,97,110,110,111,116,32,97,100,100,32,97,32,80,82,73,77,65,82,89,32,75,69,89,32,99,111,108,117,109,110,0,67,97,110,110,111,116,32,97,100,100,32,97,32,85,78,73,81,85,69,32,99,111,108,117,109,110,0,0,0,0,0,0,67,97,110,110,111,116,32,97,100,100,32,97,32,82,69,70,69,82,69,78,67,69,83,32,99,111,108,117,109,110,32,119,105,116,104,32,110,111,110,45,78,85,76,76,32,100,101,102,97,117,108,116,32,118,97,108,117,101,0,0,0,0,0,0,67,97,110,110,111,116,32,97,100,100,32,97,32,78,79,84,32,78,85,76,76,32,99,111,108,117,109,110,32,119,105,116,104,32,100,101,102,97,117,108,116,32,118,97,108,117,101,32,78,85,76,76,0,0,0,0,67,97,110,110,111,116,32,97,100,100,32,97,32,99,111,108,117,109,110,32,119,105,116,104,32,110,111,110,45,99,111,110,115,116,97,110,116,32,100,101,102,97,117,108,116,0,0,0,85,80,68,65,84,69,32,34,37,119,34,46,37,115,32,83,69,84,32,115,113,108,32,61,32,115,117,98,115,116,114,40,115,113,108,44,49,44,37,100,41,32,124,124,32,39,44,32,39,32,124,124,32,37,81,32,124,124,32,115,117,98,115,116,114,40,115,113,108,44,37,100,41,32,87,72,69,82,69,32,116,121,112,101,32,61,32,39,116,97,98,108,101,39,32,65,78,68,32,110,97,109,101,32,61,32,37,81,0,0,0,0,116,98,108,95,110,97,109,101,61,37,81,0,0,0,0,0,116,121,112,101,61,39,116,114,105,103,103,101,114,39,32,65,78,68,32,40,37,115,41,0,110,97,109,101,61,37,81,0,37,115,32,79,82,32,110,97,109,101,61,37,81,0,0,0,45,0,0,0,0,0,0,0,116,104,101,114,101,32,105,115,32,97,108,114,101,97,100,121,32,97,110,111,116,104,101,114,32,116,97,98,108,101,32,111,114,32,105,110,100,101,120,32,119,105,116,104,32,116,104,105,115,32,110,97,109,101,58,32,37,115,0,0,0,0,0,0,118,105,101,119,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,0,0,0,0,0,85,80,68,65,84,69,32,34,37,119,34,46,37,115,32,83,69,84,32,115,113,108,32,61,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,112,97,114,101,110,116,40,115,113,108,44,32,37,81,44,32,37,81,41,32,87,72,69,82,69,32,37,115,59,0,0,0,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,115,113,108,32,61,32,67,65,83,69,32,87,72,69,78,32,116,121,112,101,32,61,32,39,116,114,105,103,103,101,114,39,32,84,72,69,78,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,40,115,113,108,44,32,37,81,41,69,76,83,69,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,97,98,108,101,40,115,113,108,44,32,37,81,41,32,69,78,68,44,32,116,98,108,95,110,97,109,101,32,61,32,37,81,44,32,110,97,109,101,32,61,32,67,65,83,69,32,87,72,69,78,32,116,121,112,101,61,39,116,97,98,108,101,39,32,84,72,69,78,32,37,81,32,87,72,69,78,32,110,97,109,101,32,76,73,75,69,32,39,115,113,108,105,116,101,95,97,117,116,111,105,110,100,101,120,37,37,39,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,32,84,72,69,78,32,39,115,113,108,105,116,101,95,97,117,116,111,105,110,100,101,120,95,39,32,124,124,32,37,81,32,124,124,32,115,117,98,115,116,114,40,110,97,109,101,44,37,100,43,49,56,41,32,69,76,83,69,32,110,97,109,101,32,69,78,68,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,37,81,32,67,79,76,76,65,84,69,32,110,111,99,97,115,101,32,65,78,68,32,40,116,121,112,101,61,39,116,97,98,108,101,39,32,79,82,32,116,121,112,101,61,39,105,110,100,101,120,39,32,79,82,32,116,121,112,101,61,39,116,114,105,103,103,101,114,39,41,59,0,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,0,85,80,68,65,84,69,32,34,37,119,34,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,32,115,101,116,32,110,97,109,101,32,61,32,37,81,32,87,72,69,82,69,32,110,97,109,101,32,61,32,37,81,0,0,0,0,0,0,0,85,80,68,65,84,69,32,115,113,108,105,116,101,95,116,101,109,112,95,109,97,115,116,101,114,32,83,69,84,32,115,113,108,32,61,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,40,115,113,108,44,32,37,81,41,44,32,116,98,108,95,110,97,109,101,32,61,32,37,81,32,87,72,69,82,69,32,37,115,59,0,0,0,0,0,118,105,101,119,32,37,115,32,105,115,32,99,105,114,99,117,108,97,114,108,121,32,100,101,102,105,110,101,100,0,0,0,110,111,32,115,117,99,104,32,99,111,108,108,97,116,105,111,110,32,115,101,113,117,101,110,99,101,58,32,37,115,0,0,3,2,1,0,0,0,0,0,37,115,58,37,100,0,0,0,97,32,71,82,79,85,80,32,66,89,32,99,108,97,117,115,101,32,105,115,32,114,101,113,117,105,114,101,100,32,98,101,102,111,114,101,32,72,65,86,73,78,71,0,0,0,0,0,79,82,68,69,82,0,0,0,71,82,79,85,80,0,0,0,97,103,103,114,101,103,97,116,101,32,102,117,110,99,116,105,111,110,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,105,110,32,116,104,101,32,71,82,79,85,80,32,66,89,32,99,108,97,117,115,101,0,0,0,0,0,0,116,111,111,32,109,97,110,121,32,116,101,114,109,115,32,105,110,32,79,82,68,69,82,32,66,89,32,99,108,97,117,115,101,0,0,0,0,0,0,0,37,114,32,79,82,68,69,82,32,66,89,32,116,101,114,109,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,97,110,121,32,99,111,108,117,109,110,32,105,110,32,116,104,101,32,114,101,115,117,108,116,32,115,101,116,0,0,0,0,37,114,32,37,115,32,66,89,32,116,101,114,109,32,111,117,116,32,111,102,32,114,97,110,103,101,32,45,32,115,104,111,117,108,100,32,98,101,32,98,101,116,119,101,101,110,32,49,32,97,110,100,32,37,100,0,116,111,111,32,109,97,110,121,32,116,101,114,109,115,32,105,110,32,37,115,32,66,89,32,99,108,97,117,115,101,0,0,69,120,112,114,101,115,115,105,111,110,32,116,114,101,101,32,105,115,32,116,111,111,32,108,97,114,103,101,32,40,109,97,120,105,109,117,109,32,100,101,112,116,104,32,37,100,41,0,102,117,110,99,116,105,111,110,115,0,0,0,0,0,0,0,115,101,99,111,110,100,32,97,114,103,117,109,101,110,116,32,116,111,32,108,105,107,101,108,105,104,111,111,100,40,41,32,109,117,115,116,32,98,101,32,97,32,99,111,110,115,116,97,110,116,32,98,101,116,119,101,101,110,32,48,46,48,32,97,110,100,32,49,46,48,0,0,110,111,116,32,97,117,116,104,111,114,105,122,101,100,32,116,111,32,117,115,101,32,102,117,110,99,116,105,111,110,58,32,37,115,0,0,0,0,0,0,109,105,115,117,115,101,32,111,102,32,97,103,103,114,101,103,97,116,101,32,102,117,110,99,116,105,111,110,32,37,46,42,115,40,41,0,0,0,0,0,110,111,32,115,117,99,104,32,102,117,110,99,116,105,111,110,58,32,37,46,42,115,0,0,119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,117,110,99,116,105,111,110,32,37,46,42,115,40,41,0,0,0,0,115,117,98,113,117,101,114,105,101,115,0,0,0,0,0,0,112,97,114,97,109,101,116,101,114,115,0,0,0,0,0,0,37,115,32,112,114,111,104,105,98,105,116,101,100,32,105,110,32,67,72,69,67,75,32,99,111,110,115,116,114,97,105,110,116,115,0,0,0,0,0,0,37,115,32,112,114,111,104,105,98,105,116,101,100,32,105,110,32,112,97,114,116,105,97,108,32,105,110,100,101,120,32,87,72,69,82,69,32,99,108,97,117,115,101,115,0,0,0,0,110,101,119,0,0,0,0,0,111,108,100,0,0,0,0,0,109,105,115,117,115,101,32,111,102,32,97,108,105,97,115,101,100,32,97,103,103,114,101,103,97,116,101,32,37,115,0,0,110,111,32,115,117,99,104,32,99,111,108,117,109,110,0,0,97,109,98,105,103,117,111,117,115,32,99,111,108,117,109,110,32,110,97,109,101,0,0,0,37,115,58,32,37,115,46,37,115,46,37,115,0,0,0,0,37,115,58,32,37,115,46,37,115,0,0,0,0,0,0,0,37,115,58,32,37,115,0,0,97,99,99,101,115,115,32,116,111,32,37,115,46,37,115,46,37,115,32,105,115,32,112,114,111,104,105,98,105,116,101,100,0,0,0,0,0,0,0,0,97,99,99,101,115,115,32,116,111,32,37,115,46,37,115,32,105,115,32,112,114,111,104,105,98,105,116,101,100,0,0,0,115,113,108,105,116,101,95,115,113,95,37,112,0,0,0,0,116,111,111,32,109,97,110,121,32,114,101,102,101,114,101,110,99,101,115,32,116,111,32,34,37,115,34,58,32,109,97,120,32,54,53,53,51,53,0,0,42,0,0,0,0,0,0,0,37,115,46,37,115,0,0,0,37,115,46,37,115,46,37,115,0,0,0,0,0,0,0,0,110,111,32,115,117,99,104,32,116,97,98,108,101,58,32,37,115,0,0,0,0,0,0,0,110,111,32,116,97,98,108,101,115,32,115,112,101,99,105,102,105,101,100,0,0,0,0,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,105,110,32,114,101,115,117,108,116,32,115,101,116,0,0,97,32,78,65,84,85,82,65,76,32,106,111,105,110,32,109,97,121,32,110,111,116,32,104,97,118,101,32,97,110,32,79,78,32,111,114,32,85,83,73,78,71,32,99,108,97,117,115,101,0,0,0,0,0,0,0,99,97,110,110,111,116,32,104,97,118,101,32,98,111,116,104,32,79,78,32,97,110,100,32,85,83,73,78,71,32,99,108,97,117,115,101,115,32,105,110,32,116,104,101,32,115,97,109,101,32,106,111,105,110,0,0,99,97,110,110,111,116,32,106,111,105,110,32,117,115,105,110,103,32,99,111,108,117,109,110,32,37,115,32,45,32,99,111,108,117,109,110,32,110,111,116,32,112,114,101,115,101,110,116,32,105,110,32,98,111,116,104,32,116,97,98,108,101,115,0,110,111,32,115,117,99,104,32,105,110,100,101,120,58,32,37,115,0,0,0,0,0,0,0,109,117,108,116,105,112,108,101,32,114,101,102,101,114,101,110,99,101,115,32,116,111,32,114,101,99,117,114,115,105,118,101,32,116,97,98,108,101,58,32,37,115,0,0,0,0,0,0,99,105,114,99,117,108,97,114,32,114,101,102,101,114,101,110,99,101,58,32,37,115,0,0,116,97,98,108,101,32,37,115,32,104,97,115,32,37,100,32,118,97,108,117,101,115,32,102,111,114,32,37,100,32,99,111,108,117,109,110,115,0,0,0,109,117,108,116,105,112,108,101,32,114,101,99,117,114,115,105,118,101,32,114,101,102,101,114,101,110,99,101,115,58,32,37,115,0,0,0,0,0,0,0,114,101,99,117,114,115,105,118,101,32,114,101,102,101,114,101,110,99,101,32,105,110,32,97,32,115,117,98,113,117,101,114,121,58,32,37,115,0,0,0,110,111,32,115,117,99,104,32,109,111,100,117,108,101,58,32,37,115,0,0,0,0,0,0,118,116,97,98,108,101,32,99,111,110,115,116,114,117,99,116,111,114,32,102,97,105,108,101,100,58,32,37,115,0,0,0,118,116,97,98,108,101,32,99,111,110,115,116,114,117,99,116,111,114,32,100,105,100,32,110,111,116,32,100,101,99,108,97,114,101,32,115,99,104,101,109,97,58,32,37,115,0,0,0,104,105,100,100,101,110,0,0,32,104,105,100,100,101,110,0,111,98,106,101,99,116,32,110,97,109,101,32,114,101,115,101,114,118,101,100,32,102,111,114,32,105,110,116,101,114,110,97,108,32,117,115,101,58,32,37,115,0,0,0,0,0,0,0,99,111,114,114,117,112,116,32,100,97,116,97,98,97,115,101,0,0,0,0,0,0,0,0,117,110,107,110,111,119,110,32,100,97,116,97,98,97,115,101,32,37,84,0,0,0,0,0,105,100,120,0,0,0,0,0,116,98,108,0,0,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,52,0,0,0,0,0,0,0,0,0,0,0,56,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,53,0,0,0,0,0,0,0,0,0,0,0,40,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,66,66,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,54,0,0,0,0,0,0,0,0,0,0,0,8,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,115,116,97,116,95,103,101,116,0,0,0,0,0,0,0,0,37,108,108,117,0,0,0,0,32,37,108,108,117,0,0,0,115,116,97,116,95,112,117,115,104,0,0,0,0,0,0,0,115,116,97,116,95,105,110,105,116,0,0,0,0,0,0,0,72,52,0,0,96,112,0,0,112,112,0,0,0,0,0,0,128,112,0,0,0,0,0,0,116,98,108,44,105,100,120,44,115,116,97,116,0,0,0,0,115,113,108,105,116,101,95,115,116,97,116,51,0,0,0,0,115,113,108,105,116,101,95,115,116,97,116,52,0,0,0,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,37,115,40,37,115,41,0,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,37,115,61,37,81,0,0,0,117,110,97,98,108,101,32,116,111,32,105,100,101,110,116,105,102,121,32,116,104,101,32,111,98,106,101,99,116,32,116,111,32,98,101,32,114,101,105,110,100,101,120,101,100,0,0,0,44,32,0,0,0,0,0,0,46,0,0,0,0,0,0,0,109,105,115,117,115,101,32,111,102,32,97,103,103,114,101,103,97,116,101,58,32,37,115,40],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+18712);allocate([41,0,0,0,0,0,0,0,117,110,107,110,111,119,110,32,102,117,110,99,116,105,111,110,58,32,37,46,42,115,40,41,0,0,0,0,0,0,0,0,82,65,73,83,69,40,41,32,109,97,121,32,111,110,108,121,32,98,101,32,117,115,101,100,32,119,105,116,104,105,110,32,97,32,116,114,105,103,103,101,114,45,112,114,111,103,114,97,109,0,0,0,0,0,0,0,69,88,69,67,85,84,69,32,37,115,37,115,32,83,85,66,81,85,69,82,89,32,37,100,0,0,0,0,0,0,0,0,67,79,82,82,69,76,65,84,69,68,32,0,0,0,0,0,76,73,83,84,0,0,0,0,83,67,65,76,65,82,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,120,0,0,0,0,0,0,104,101,120,32,108,105,116,101,114,97,108,32,116,111,111,32,98,105,103,58,32,37,115,0,1,0,1,0,0,0,0,0,0,0,0,0,55,0,0,0,0,0,0,0,0,0,0,0,32,114,0,0,0,0,0,0,0,0,0,0,0,0,0,0,115,113,108,105,116,101,95,100,101,116,97,99,104,0,0,0,110,111,32,115,117,99,104,32,100,97,116,97,98,97,115,101,58,32,37,115,0,0,0,0,99,97,110,110,111,116,32,100,101,116,97,99,104,32,100,97,116,97,98,97,115,101,32,37,115,0,0,0,0,0,0,0,99,97,110,110,111,116,32,68,69,84,65,67,72,32,100,97,116,97,98,97,115,101,32,119,105,116,104,105,110,32,116,114,97,110,115,97,99,116,105,111,110,0,0,0,0,0,0,0,100,97,116,97,98,97,115,101,32,37,115,32,105,115,32,108,111,99,107,101,100,0,0,0,3,0,1,0,0,0,0,0,0,0,0,0,56,0,0,0,0,0,0,0,0,0,0,0,216,114,0,0,0,0,0,0,0,0,0,0,0,0,0,0,115,113,108,105,116,101,95,97,116,116,97,99,104,0,0,0,116,111,111,32,109,97,110,121,32,97,116,116,97,99,104,101,100,32,100,97,116,97,98,97,115,101,115,32,45,32,109,97,120,32,37,100,0,0,0,0,99,97,110,110,111,116,32,65,84,84,65,67,72,32,100,97,116,97,98,97,115,101,32,119,105,116,104,105,110,32,116,114,97,110,115,97,99,116,105,111,110,0,0,0,0,0,0,0,100,97,116,97,98,97,115,101,32,37,115,32,105,115,32,97,108,114,101,97,100,121,32,105,110,32,117,115,101,0,0,0,100,97,116,97,98,97,115,101,32,105,115,32,97,108,114,101,97,100,121,32,97,116,116,97,99,104,101,100,0,0,0,0,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,100,97,116,97,98,97,115,101,58,32,37,115,0,0,0,0,0,110,111,32,115,117,99,104,32,116,114,105,103,103,101,114,58,32,37,83,0,0,0,0,0,108,0,246,0,97,0,1,0,47,0,1,2,78,2,247,1,97,0,1,0,47,0,0,2,78,2,247,1,95,0,0,0,9,0,254,0,0,0,0,0,116,101,109,112,111,114,97,114,121,32,116,114,105,103,103,101,114,32,109,97,121,32,110,111,116,32,104,97,118,101,32,113,117,97,108,105,102,105,101,100,32,110,97,109,101,0,0,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,116,114,105,103,103,101,114,115,32,111,110,32,118,105,114,116,117,97,108,32,116,97,98,108,101,115,0,0,0,0,0,0,0,0,116,114,105,103,103,101,114,32,37,84,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,0,0,0,0,0,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,116,114,105,103,103,101,114,32,111,110,32,115,121,115,116,101,109,32,116,97,98,108,101,0,0,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,37,115,32,116,114,105,103,103,101,114,32,111,110,32,118,105,101,119,58,32,37,83,0,0,0,0,66,69,70,79,82,69,0,0,65,70,84,69,82,0,0,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,73,78,83,84,69,65,68,32,79,70,32,116,114,105,103,103,101,114,32,111,110,32,116,97,98,108,101,58,32,37,83,0,0,0,37,115,32,37,84,32,99,97,110,110,111,116,32,114,101,102,101,114,101,110,99,101,32,111,98,106,101,99,116,115,32,105,110,32,100,97,116,97,98,97,115,101,32,37,115,0,0,0,37,115,32,99,97,110,110,111,116,32,117,115,101,32,118,97,114,105,97,98,108,101,115,0,73,78,83,69,82,84,32,73,78,84,79,32,37,81,46,37,115,32,86,65,76,85,69,83,40,39,116,114,105,103,103,101,114,39,44,37,81,44,37,81,44,48,44,39,67,82,69,65,84,69,32,84,82,73,71,71,69,82,32,37,113,39,41,0,116,121,112,101,61,39,116,114,105,103,103,101,114,39,32,65,78,68,32,110,97,109,101,61,39,37,113,39,0,0,0,0,45,37,84,0,0,0,0,0,114,101,115,117,108,116,0,0,16,126,0,0,0,0,0,0,8,0,0,0,0,121,0,0,1,1,0,0,0,0,0,0,32,126,0,0,2,0,0,0,0,0,16,0,48,126,0,0,3,0,0,0,0,0,0,0,128,120,0,0,4,1,0,0,0,0,0,0,64,126,0,0,2,0,0,0,16,0,0,0,80,126,0,0,5,0,0,0,0,0,0,0,104,126,0,0,2,0,0,0,8,0,0,0,128,126,0,0,6,0,0,0,0,0,0,0,144,126,0,0,7,0,0,0,0,0,0,0,160,126,0,0,2,0,0,0,128,0,0,0,176,126,0,0,0,2,0,0,15,0,0,0,192,126,0,0,9,1,0,0,0,0,0,0,208,126,0,0,10,1,0,0,0,0,0,0,232,126,0,0,2,0,0,0,0,0,0,1,0,127,0,0,2,0,0,0,0,1,0,0,40,124,0,0,11,0,0,0,0,0,0,0,24,127,0,0,12,1,0,0,0,0,0,0,48,127,0,0,13,1,0,0,0,0,0,0,72,127,0,0,2,0,0,0,0,0,8,0,88,127,0,0,0,2,0,0,0,0,0,0,104,127,0,0,2,0,0,0,32,0,0,0,128,127,0,0,2,0,0,0,4,0,0,0,144,127,0,0,2,0,0,0,0,32,0,0,176,127,0,0,14,1,0,0,0,0,0,0,200,127,0,0,15,1,0,0,0,0,0,0,216,127,0,0,16,1,0,0,0,0,0,0,232,127,0,0,15,1,0,0,1,0,0,0,232,122,0,0,17,1,0,0,0,0,0,0,216,120,0,0,18,1,0,0,0,0,0,0,232,120,0,0,19,0,0,0,0,0,0,0,248,127,0,0,2,0,0,0,0,128,0,0,200,120,0,0,21,0,0,0,0,0,0,0,16,128,0,0,22,1,0,0,0,0,0,0,40,121,0,0,23,0,0,0,0,0,0,0,32,128,0,0,22,1,0,0,0,0,0,0,144,120,0,0,24,0,0,0,0,0,0,0,48,128,0,0,2,0,0,0,0,0,0,2,64,128,0,0,17,1,0,0,0,0,0,0,80,128,0,0,2,0,0,0,0,64,0,0,104,128,0,0,2,0,0,0,0,0,4,0,128,128,0,0,2,0,0,0,0,0,2,0,160,128,0,0,0,0,0,0,1,0,0,0,160,120,0,0,25,0,0,0,0,0,0,0,176,128,0,0,2,0,0,0,64,0,0,0,200,128,0,0,26,0,0,0,0,0,0,0,232,124,0,0,27,0,0,0,0,0,0,0,216,128,0,0,28,1,0,0,0,0,0,0,128,121,0,0,29,1,0,0,0,0,0,0,224,128,0,0,30,1,0,0,0,0,0,0,56,121,0,0,31,0,0,0,0,0,0,0,72,121,0,0,32,0,0,0,0,0,0,0,248,124,0,0,33,0,0,0,0,0,0,0,240,128,0,0,0,0,0,0,6,0,0,0,200,124,0,0,34,0,0,0,0,0,0,0,0,129,0,0,35,1,0,0,0,0,0,0,16,129,0,0,2,0,0,0,0,8,1,0,0,0,0,0,4,0,0,0,51,0,1,3,137,1,8,0,25,0,2,0,90,1,2,1,137,1,8,0,25,0,1,0,156,0,0,0,35,1,1,0,0,0,0,0,99,97,99,104,101,95,115,105,122,101,0,0,0,0,0,0,112,97,103,101,95,115,105,122,101,0,0,0,0,0,0,0,115,101,99,117,114,101,95,100,101,108,101,116,101,0,0,0,110,111,114,109,97,108,0,0,101,120,99,108,117,115,105,118,101,0,0,0,0,0,0,0,108,111,99,107,105,110,103,95,109,111,100,101,0,0,0,0,106,111,117,114,110,97,108,95,109,111,100,101,0,0,0,0,106,111,117,114,110,97,108,95,115,105,122,101,95,108,105,109,105,116,0,0,0,0,0,0,97,117,116,111,95,118,97,99,117,117,109,0,0,0,0,0,4,0,1,0,51,0,1,4,45,1,0,0,24,0,2,0,25,0,1,0,52,0,7,1,109,109,97,112,95,115,105,122,101,0,0,0,0,0,0,0,116,101,109,112,95,115,116,111,114,101,0,0,0,0,0,0,116,101,109,112,95,115,116,111,114,101,95,100,105,114,101,99,116,111,114,121,0,0,0,0,110,111,116,32,97,32,119,114,105,116,97,98,108,101,32,100,105,114,101,99,116,111,114,121,0,0,0,0,0,0,0,0,115,121,110,99,104,114,111,110,111,117,115,0,0,0,0,0,83,97,102,101,116,121,32,108,101,118,101,108,32,109,97,121,32,110,111,116,32,98,101,32,99,104,97,110,103,101,100,32,105,110,115,105,100,101,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,0,0,0,99,105,100,0,0,0,0,0,110,97,109,101,0,0,0,0,116,121,112,101,0,0,0,0,110,111,116,110,117,108,108,0,100,102,108,116,95,118,97,108,117,101,0,0,0,0,0,0,112,107,0,0,0,0,0,0,116,97,98,108,101,0,0,0,119,105,100,116,104,0,0,0,104,101,105,103,104,116,0,0,115,101,113,110,111,0,0,0,100,101,115,99,0,0,0,0,99,111,108,108,0,0,0,0,107,101,121,0,0,0,0,0,115,101,113,0,0,0,0,0,117,110,105,113,117,101,0,0,111,114,105,103,105,110,0,0,112,97,114,116,105,97,108,0,99,0,0,0,0,0,0,0,117,0,0,0,0,0,0,0,88,122,0,0,96,122,0,0,248,121,0,0,0,0,0,0,102,105,108,101,0,0,0,0,105,100,0,0,0,0,0,0,102,114,111,109,0,0,0,0,116,111,0,0,0,0,0,0,111,110,95,117,112,100,97,116,101,0,0,0,0,0,0,0,111,110,95,100,101,108,101,116,101,0,0,0,0,0,0,0,109,97,116,99,104,0,0,0,78,79,78,69,0,0,0,0,112,97,114,101,110,116,0,0,102,107,105,100,0,0,0,0,138,1,0,0,97,0,3,0,35,3,1,0,0,0,0,0,105,110,116,101,103,114,105,116,121,95,99,104,101,99,107,0,42,42,42,32,105,110,32,100,97,116,97,98,97,115,101,32,37,115,32,42,42,42,10,0,78,85,76,76,32,118,97,108,117,101,32,105,110,32,37,115,46,37,115,0,0,0,0,0,114,111,119,32,0,0,0,0,32,109,105,115,115,105,110,103,32,102,114,111,109,32,105,110,100,101,120,32,0,0,0,0,110,111,110,45,117,110,105,113,117,101,32,101,110,116,114,121,32,105,110,32,105,110,100,101,120,32,0,0,0,0,0,0,119,114,111,110,103,32,35,32,111,102,32,101,110,116,114,105,101,115,32,105,110,32,105,110,100,101,120,32,0,0,0,0,111,107,0,0,0,0,0,0,216,123,0,0,1,0,0,0,224,123,0,0,1,0,0,0,232,123,0,0,2,0,0,0,248,123,0,0,3,0,0,0,8,124,0,0,2,0,0,0,16,124,0,0,3,0,0,0,24,124,0,0,0,0,0,0,32,124,0,0,0,0,0,0,0,0,0,0,0,0,0,0,85,84,70,56,0,0,0,0,85,84,70,45,56,0,0,0,85,84,70,45,49,54,108,101,0,0,0,0,0,0,0,0,85,84,70,45,49,54,98,101,0,0,0,0,0,0,0,0,85,84,70,49,54,108,101,0,85,84,70,49,54,98,101,0,85,84,70,45,49,54,0,0,85,84,70,49,54,0,0,0,101,110,99,111,100,105,110,103,0,0,0,0,0,0,0,0,117,110,115,117,112,112,111,114,116,101,100,32,101,110,99,111,100,105,110,103,58,32,37,115,0,0,0,0,0,0,0,0,4,0,1,0,25,0,1,0,52,0,0,1,0,0,0,0,4,0,0,0,51,0,1,0,35,1,1,0,0,0,0,0,99,111,109,112,105,108,101,95,111,112,116,105,111,110,0,0,102,117,108,108,0,0,0,0,114,101,115,116,97,114,116,0,116,114,117,110,99,97,116,101,0,0,0,0,0,0,0,0,98,117,115,121,0,0,0,0,108,111,103,0,0,0,0,0,99,104,101,99,107,112,111,105,110,116,101,100,0,0,0,0,119,97,108,95,97,117,116,111,99,104,101,99,107,112,111,105,110,116,0,0,0,0,0,0,116,105,109,101,111,117,116,0,115,111,102,116,95,104,101,97,112,95,108,105,109,105,116,0,116,104,114,101,97,100,115,0,37,95,0,0,0,0,0,0,102,111,114,101,105,103,110,32,107,101,121,32,109,105,115,109,97,116,99,104,32,45,32,34,37,119,34,32,114,101,102,101,114,101,110,99,105,110,103,32,34,37,119,34,0,0,0,0,83,69,84,32,78,85,76,76,0,0,0,0,0,0,0,0,83,69,84,32,68,69,70,65,85,76,84,0,0,0,0,0,67,65,83,67,65,68,69,0,82,69,83,84,82,73,67,84,0,0,0,0,0,0,0,0,78,79,32,65,67,84,73,79,78,0,0,0,0,0,0,0,116,101,109,112,111,114,97,114,121,32,115,116,111,114,97,103,101,32,99,97,110,110,111,116,32,98,101,32,99,104,97,110,103,101,100,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,0,0,110,111,110,101,0,0,0,0,105,110,99,114,101,109,101,110,116,97,108,0,0,0,0,0,240,125,0,0,248,125,0,0,0,126,0,0,152,124,0,0,64,59,0,0,8,126,0,0,100,101,108,101,116,101,0,0,112,101,114,115,105,115,116,0,111,102,102,0,0,0,0,0,119,97,108,0,0,0,0,0,97,112,112,108,105,99,97,116,105,111,110,95,105,100,0,0,97,117,116,111,109,97,116,105,99,95,105,110,100,101,120,0,98,117,115,121,95,116,105,109,101,111,117,116,0,0,0,0,99,97,99,104,101,95,115,112,105,108,108,0,0,0,0,0,99,97,115,101,95,115,101,110,115,105,116,105,118,101,95,108,105,107,101,0,0,0,0,0,99,104,101,99,107,112,111,105,110,116,95,102,117,108,108,102,115,121,110,99,0,0,0,0,99,111,108,108,97,116,105,111,110,95,108,105,115,116,0,0,99,111,109,112,105,108,101,95,111,112,116,105,111,110,115,0,99,111,117,110,116,95,99,104,97,110,103,101,115,0,0,0,100,97,116,97,95,118,101,114,115,105,111,110,0,0,0,0,100,97,116,97,98,97,115,101,95,108,105,115,116,0,0,0,100,101,102,97,117,108,116,95,99,97,99,104,101,95,115,105,122,101,0,0,0,0,0,0,100,101,102,101,114,95,102,111,114,101,105,103,110,95,107,101,121,115,0,0,0,0,0,0,101,109,112,116,121,95,114,101,115,117,108,116,95,99,97,108,108,98,97,99,107,115,0,0,102,111,114,101,105,103,110,95,107,101,121,95,99,104,101,99,107,0,0,0,0,0,0,0,102,111,114,101,105,103,110,95,107,101,121,95,108,105,115,116,0,0,0,0,0,0,0,0,102,111,114,101,105,103,110,95,107,101,121,115,0,0,0,0,102,114,101,101,108,105,115,116,95,99,111,117,110,116,0,0,102,117,108,108,95,99,111,108,117,109,110,95,110,97,109,101,115,0,0,0,0,0,0,0,102,117,108,108,102,115,121,110,99,0,0,0,0,0,0,0,105,103,110,111,114,101,95,99,104,101,99,107,95,99,111,110,115,116,114,97,105,110,116,115,0,0,0,0,0,0,0,0,105,110,99,114,101,109,101,110,116,97,108,95,118,97,99,117,117,109,0,0,0,0,0,0,105,110,100,101,120,95,105,110,102,111,0,0,0,0,0,0,105,110,100,101,120,95,108,105,115,116,0,0,0,0,0,0,105,110,100,101,120,95,120,105,110,102,111,0,0,0,0,0,108,101,103,97,99,121,95,102,105,108,101,95,102,111,114,109,97,116,0,0,0,0,0,0,109,97,120,95,112,97,103,101,95,99,111,117,110,116,0,0,112,97,103,101,95,99,111,117,110,116,0,0,0,0,0,0,113,117,101,114,121,95,111,110,108,121,0,0,0,0,0,0,113,117,105,99,107,95,99,104,101,99,107,0,0,0,0,0,114,101,97,100,95,117,110,99,111,109,109,105,116,116,101,100,0,0,0,0,0,0,0,0,114,101,99,117,114,115,105,118,101,95,116,114,105,103,103,101,114,115,0,0,0,0,0,0,114,101,118,101,114,115,101,95,117,110,111,114,100,101,114,101,100,95,115,101,108,101,99,116,115,0,0,0,0,0,0,0,115,99,104,101,109,97,95,118,101,114,115,105,111,110,0,0,115,104,111,114,116,95,99,111,108,117,109,110,95,110,97,109,101,115,0,0,0,0,0,0,115,104,114,105,110,107,95,109,101,109,111,114,121,0,0,0,115,116,97,116,115,0,0,0,116,97,98,108,101,95,105,110,102,111,0,0,0,0,0,0,117,115,101,114,95,118,101,114,115,105,111,110,0,0,0,0,119,97,108,95,99,104,101,99,107,112,111,105,110,116,0,0,119,114,105,116,97,98,108,101,95,115,99,104,101,109,97,0,110,111,32,115,117,99,104,32,105,110,100,101,120,58,32,37,83,0,0,0,0,0,0,0,105,110,100,101,120,32,97,115,115,111,99,105,97,116,101,100,32,119,105,116,104,32,85,78,73,81,85,69,32,111,114,32,80,82,73,77,65,82,89,32,75,69,89,32,99,111,110,115,116,114,97,105,110,116,32,99,97,110,110,111,116,32,98,101,32,100,114,111,112,112,101,100,0,0,0,0,0,0,0,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,110,97,109,101,61,37,81,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,0,0,0,0,0,0,0,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,114,111,111,116,112,97,103,101,61,37,100,32,87,72,69,82,69,32,35,37,100,32,65,78,68,32,114,111,111,116,112,97,103,101,61,35,37,100,0,115,113,108,105,116,101,95,115,116,97,116,37,100,0,0,0,48,0,0,0,0,0,0,0,118,97,114,105,97,98,108,101,32,110,117,109,98,101,114,32,109,117,115,116,32,98,101,32,98,101,116,119,101,101,110,32,63,49,32,97,110,100,32,63,37,100,0,0,0,0,0,0,116,111,111,32,109,97,110,121,32,83,81,76,32,118,97,114,105,97,98,108,101,115,0,0,116,97,98,108,101,32,37,83,32,104,97,115,32,110,111,32,99,111,108,117,109,110,32,110,97,109,101,100,32,37,115,0,116,97,98,108,101,32,37,83,32,104,97,115,32,37,100,32,99,111,108,117,109,110,115,32,98,117,116,32,37,100,32,118,97,108,117,101,115,32,119,101,114,101,32,115,117,112,112,108,105,101,100,0,0,0,0,0,37,100,32,118,97,108,117,101,115,32,102,111,114,32,37,100,32,99,111,108,117,109,110,115,0,0,0,0,0,0,0,0,114,111,119,115,32,105,110,115,101,114,116,101,100,0,0,0,97,116,32,109,111,115,116,32,37,100,32,116,97,98,108,101,115,32,105,110,32,97,32,106,111,105,110,0,0,0,0,0,65,63,62,64,0,0,0,0,0,0,108,105,65,62,64,63,116,114,113,115,0,0,0,0,9,8,0,0,0,0,0,0,108,105,0,0,0,0,0,0,83,69,65,82,67,72,0,0,83,67,65,78,0,0,0,0,32,83,85,66,81,85,69,82,89,32,37,100,0,0,0,0,32,84,65,66,76,69,32,37,115,0,0,0,0,0,0,0,32,65,83,32,37,115,0,0,80,82,73,77,65,82,89,32,75,69,89,0,0,0,0,0,65,85,84,79,77,65,84,73,67,32,80,65,82,84,73,65,76,32,67,79,86,69,82,73,78,71,32,73,78,68,69,88,0,0,0,0,0,0,0,0,65,85,84,79,77,65,84,73,67,32,67,79,86,69,82,73,78,71,32,73,78,68,69,88,0,0,0,0,0,0,0,0,67,79,86,69,82,73,78,71,32,73,78,68,69,88,32,37,115,0,0,0,0,0,0,0,73,78,68,69,88,32,37,115,0,0,0,0,0,0,0,0,32,85,83,73,78,71,32,0,40,114,111,119,105,100,61,63,41,0,0,0,0,0,0,0,40,114,111,119,105,100,62,63,32,65,78,68,32,114,111,119,105,100,60,63,41,0,0,0,40,114,111,119,105,100,62,63,41,0,0,0,0,0,0,0,40,114,111,119,105,100,60,63,41,0,0,0,0,0,0,0,32,85,83,73,78,71,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,32,0,0,0,0,0,32,86,73,82,84,85,65,76,32,84,65,66,76,69,32,73,78,68,69,88,32,37,100,58,37,115,0,0,0,0,0,0,32,40,0,0,0,0,0,0,61,0,0,0,0,0,0,0,32,65,78,68,32,0,0,0,65,78,89,40,37,115,41,0,62,0,0,0,0,0,0,0,60,0,0,0,0,0,0,0,41,0,0,0,0,0,0,0,97,117,116,111,109,97,116,105,99,32,105,110,100,101,120,32,111,110,32,37,115,40,37,115,41,0,0,0,0,0,0,0,97,117,116,111,45,105,110,100,101,120,0,0,0,0,0,0,110,111,32,113,117,101,114,121,32,115,111,108,117,116,105,111,110,0,0,0,0,0,0,0,10,10,9,9,8,8,7,7,7,6,6,6,5,5,5,4,4,4,4,3,3,3,3,3,3,2,2,2,2,2,2,2,37,115,46,120,66,101,115,116,73,110,100,101,120,40,41,32,109,97,108,102,117,110,99,116,105,111,110,0,0,0,0,0,116,97,98,108,101,32,37,115,58,32,120,66,101,115,116,73,110,100,101,120,32,114,101,116,117,114,110,101,100,32,97,110,32,105,110,118,97,108,105,100,32,112,108,97,110,0,0,0,83,81,0,0,0,0,0,0,45,45,32,84,82,73,71,71,69,82,32,37,115,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,2,0,1,0,1,1,4,36,1,4,5,16,0,2,2,2,2,0,2,2,0,0,32,0,0,4,5,4,4,0,0,1,1,5,5,0,0,0,2,2,16,0,0,0,0,0,0,0,0,0,17,17,17,17,8,17,17,17,17,76,76,2,2,0,5,5,21,21,21,21,21,21,0,76,76,76,76,76,76,76,76,76,76,0,36,2,0,0,0,0,0,2,0,1,1,1,1,8,8,0,2,1,1,1,1,2,0,0,2,2,0,0,0,0,0,0,12,69,21,1,2,2,0,1,8,5,5,5,5,5,0,1,0,0,0,0,0,0,0,1,0,2,2,1,0,0,0,0,16,16,2,16,0,0,0,0,0,1,2,3,4,6,8,8,0,0,0,0,0,0,0,0,176,107,0,0,3,0,0,0,168,107,0,0,3,0,0,0,111,105,100,0,0,0,0,0,70,79,82,69,73,71,78,32,75,69,89,32,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,0,0,37,115,46,114,111,119,105,100,0,0,0,0,0,0,0,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,109,111,100,105,102,105,101,100,0,0,0,0,99,97,110,110,111,116,32,109,111,100,105,102,121,32,37,115,32,98,101,99,97,117,115,101,32,105,116,32,105,115,32,97,32,118,105,101,119,0,0,0,110,111,32,115,117,99,104,32,99,111,108,117,109,110,58,32,37,115,0,0,0,0,0,0,114,111,119,115,32,117,112,100,97,116,101,100,0,0,0,0,95,114,111,119,105,100,95,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,105,110,32,37,115,0,0,114,111,119,115,32,100,101,108,101,116,101,100,0,0,0,0,110,97,116,117,114,97,108,101,102,116,111,117,116,101,114,105,103,104,116,102,117,108,108,105,110,110,101,114,99,114,111,115,115,0,0,0,0,0,0,0,0,7,4,6,4,40,10,5,32,14,5,48,19,4,56,23,5,1,28,5,3,0,0,0,117,110,107,110,111,119,110,32,111,114,32,117,110,115,117,112,112,111,114,116,101,100,32,106,111,105,110,32,116,121,112,101,58,32,37,84,32,37,84,37,115,37,84,0,0,0,0,0,82,73,71,72,84,32,97,110,100,32,70,85,76,76,32,79,85,84,69,82,32,74,79,73,78,115,32,97,114,101,32,110,111,116,32,99,117,114,114,101,110,116,108,121,32,115,117,112,112,111,114,116,101,100,0,0,97,32,74,79,73,78,32,99,108,97,117,115,101,32,105,115,32,114,101,113,117,105,114,101,100,32,98,101,102,111,114,101,32,37,115,0,0,0,0,0,79,78,0,0,0,0,0,0,85,83,73,78,71,0,0,0,68,73,83,84,73,78,67,84,0,0,0,0,0,0,0,0,71,82,79,85,80,32,66,89,0,0,0,0,0,0,0,0,82,73,71,72,84,32,80,65,82,84,32,79,70,32,79,82,68,69,82,32,66,89,0,0,79,82,68,69,82,32,66,89,0,0,0,0,0,0,0,0,99,111,108,117,109,110,37,100,0,0,0,0,0,0,0,0,83,67,65,78,32,84,65,66,76,69,32,37,115,37,115,37,115,0,0,0,0,0,0,0,32,85,83,73,78,71,32,67,79,86,69,82,73,78,71,32,73,78,68,69,88,32,0,0,68,73,83,84,73,78,67,84,32,97,103,103,114,101,103,97,116,101,115,32,109,117,115,116,32,104,97,118,101,32,101,120,97,99,116,108,121,32,111,110,101,32,97,114,103,117,109,101,110,116,0,0,0,0,0,0,85,83,69,32,84,69,77,80,32,66,45,84,82,69,69,32,70,79,82,32,37,115,0,0,79,82,68,69,82,32,66,89,32,99,108,97,117,115,101,32,115,104,111,117,108,100,32,99,111,109,101,32,97,102,116,101,114,32,37,115,32,110,111,116,32,98,101,102,111,114,101,0,76,73,77,73,84,32,99,108,97,117,115,101,32,115,104,111,117,108,100,32,99,111,109,101,32,97,102,116,101,114,32,37,115,32,110,111,116,32,98,101,102,111,114,101,0,0,0,0,67,79,77,80,79,85,78,68,32,83,85,66,81,85,69,82,73,69,83,32,37,100,32,65,78,68,32,37,100,32,37,115,40,37,115,41,0,0,0,0,85,83,73,78,71,32,84,69,77,80,32,66,45,84,82,69,69,32,0,0,0,0,0,0,97,108,108,32,86,65,76,85,69,83,32,109,117,115,116,32,104,97,118,101,32,116,104,101,32,115,97,109,101,32,110,117,109,98,101,114,32,111,102,32,116,101,114,109,115,0,0,0,83,69,76,69,67,84,115,32,116,111,32,116,104,101,32,108,101,102,116,32,97,110,100,32,114,105,103,104,116,32,111,102,32,37,115,32,100,111,32,110,111,116,32,104,97,118,101,32,116,104,101,32,115,97,109,101,32,110,117,109,98,101,114,32,111,102,32,114,101,115,117,108,116,32,99,111,108,117,109,110,115,0,0,0,0,0,0,0,85,78,73,79,78,32,65,76,76,0,0,0,0,0,0,0,73,78,84,69,82,83,69,67,84,0,0,0,0,0,0,0,69,88,67,69,80,84,0,0,85,78,73,79,78,0,0,0,111,110,108,121,32,97,32,115,105,110,103,108,101,32,114,101,115,117,108,116,32,97,108,108,111,119,101,100,32,102,111,114,32,97,32,83,69,76,69,67,84,32,116,104,97,116,32,105,115,32,112,97,114,116,32,111,102,32,97,110,32,101,120,112,114,101,115,115,105,111,110,0,112,97,114,97,109,101,116,101,114,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,105,110,32,118,105,101,119,115,0,0,0,0,0,118,105,101,119,0,0,0,0,115,113,108,105,116,101,95,115,116,97,116,0,0,0,0,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,100,114,111,112,112,101,100,0,0,0,0,0,117,115,101,32,68,82,79,80,32,84,65,66,76,69,32,116,111,32,100,101,108,101,116,101,32,116,97,98,108,101,32,37,115,0,0,0,0,0,0,0,117,115,101,32,68,82,79,80,32,86,73,69,87,32,116,111,32,100,101,108,101,116,101,32,118,105,101,119,32,37,115,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,32,87,72,69,82,69,32,110,97,109,101,61,37,81,0,0,0,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,37,81,32,97,110,100,32,116,121,112,101,33,61,39,116,114,105,103,103,101,114,39,0,102,111,114,101,105,103,110,32,107,101,121,32,111,110,32,37,115,32,115,104,111,117,108,100,32,114,101,102,101,114,101,110,99,101,32,111,110,108,121,32,111,110,101,32,99,111,108,117,109,110,32,111,102,32,116,97,98,108,101,32,37,84,0,0,110,117,109,98,101,114,32,111,102,32,99,111,108,117,109,110,115,32,105,110,32,102,111,114,101,105,103,110,32,107,101,121,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,99,111,108,117,109,110,115,32,105,110,32,116,104,101,32,114,101,102,101,114,101,110,99,101,100,32,116,97,98,108,101,0,0,0,117,110,107,110,111,119,110,32,99,111,108,117,109,110,32,34,37,115,34,32,105,110,32,102,111,114,101,105,103,110,32,107,101,121,32,100,101,102,105,110,105,116,105,111,110,0,0,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,97,32,84,69,77,80,32,105,110,100,101,120,32,111,110,32,110,111,110,45,84,69,77,80,32,116,97,98,108,101,32,34,37,115,34,0,0,0,0,0,0,0,97,108,116,101,114,116,97,98,95,0,0,0,0,0,0,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,0,0,0,0,118,105,101,119,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,0,0,0,0,0,0,0,118,105,114,116,117,97,108,32,116,97,98,108,101,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,0,0,0,0,0,0,116,104,101,114,101,32,105,115,32,97,108,114,101,97,100,121,32,97,32,116,97,98,108,101,32,110,97,109,101,100,32,37,115,0,0,0,0,0,0,0,105,110,100,101,120,32,37,115,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,115,113,108,105,116,101,95,97,117,116,111,105,110,100,101,120,95,37,115,95,37,100,0,0,116,97,98,108,101,32,37,115,32,104,97,115,32,110,111,32,99,111,108,117,109,110,32,110,97,109,101,100,32,37,115,0,99,111,110,102,108,105,99,116,105,110,103,32,79,78,32,67,79,78,70,76,73,67,84,32,99,108,97,117,115,101,115,32,115,112,101,99,105,102,105,101,100,0,0,0,0,0,0,0,67,82,69,65,84,69,37,115,32,73,78,68,69,88,32,37,46,42,115,0,0,0,0,0,32,85,78,73,81,85,69,0,73,78,83,69,82,84,32,73,78,84,79,32,37,81,46,37,115,32,86,65,76,85,69,83,40,39,105,110,100,101,120,39,44,37,81,44,37,81,44,35,37,100,44,37,81,41,59,0,110,97,109,101,61,39,37,113,39,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,0,0,0,0,0,0,116,97,98,108,101,32,34,37,115,34,32,104,97,115,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,112,114,105,109,97,114,121,32,107,101,121,0,0,0,0,0,0,0,0,65,85,84,79,73,78,67,82,69,77,69,78,84,32,105,115,32,111,110,108,121,32,97,108,108,111,119,101,100,32,111,110,32,97,110,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,0,100,101,102,97,117,108,116,32,118,97,108,117,101,32,111,102,32,99,111,108,117,109,110,32,91,37,115,93,32,105,115,32,110,111,116,32,99,111,110,115,116,97,110,116,0,0,0,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,111,110,32,37,115,0,0,100,117,112,108,105,99,97,116,101,32,99,111,108,117,109,110,32,110,97,109,101,58,32,37,115,0,0,0,0,0,0,0,65,85,84,79,73,78,67,82,69,77,69,78,84,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,87,73,84,72,79,85,84,32,82,79,87,73,68,32,116,97,98,108,101,115,0,0,0,0,0,0,0,80,82,73,77,65,82,89,32,75,69,89,32,109,105,115,115,105,110,103,32,111,110,32,116,97,98,108,101,32,37,115,0,84,65,66,76,69,0,0,0,86,73,69,87,0,0,0,0,67,82,69,65,84,69,32,37,115,32,37,46,42,115,0,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,116,121,112,101,61,39,37,115,39,44,32,110,97,109,101,61,37,81,44,32,116,98,108,95,110,97,109,101,61,37,81,44,32,114,111,111,116,112,97,103,101,61,35,37,100,44,32,115,113,108,61,37,81,32,87,72,69,82,69,32,114,111,119,105,100,61,35,37,100,0,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,40,110,97,109,101,44,115,101,113,41,0,0,0,0,0,0,0,116,98,108,95,110,97,109,101,61,39,37,113,39,32,65,78,68,32,116,121,112,101,33,61,39,116,114,105,103,103,101,114,39,0,0,0,0,0,0,0,10,32,32,0,0,0,0,0,44,10,32,32,0,0,0,0,10,41,0,0,0,0,0,0,67,82,69,65,84,69,32,84,65,66,76,69,32,0,0,0,120,40,0,0,80,144,0,0,88,144,0,0,96,144,0,0,104,144,0,0,0,0,0,0,32,84,69,88,84,0,0,0,32,78,85,77,0,0,0,0,32,73,78,84,0,0,0,0,32,82,69,65,76,0,0,0,116,101,109,112,111,114,97,114,121,32,116,97,98,108,101,32,110,97,109,101,32,109,117,115,116,32,98,101,32,117,110,113,117,97,108,105,102,105,101,100,0,0,0,0,0,0,0,0,116,97,98,108,101,32,37,84,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,116,104,101,114,101,32,105,115,32,97,108,114,101,97,100,121,32,97,110,32,105,110,100,101,120,32,110,97,109,101,100,32,37,115,0,0,0,0,0,0,240,144,0,0,248,144,0,0,0,145,0,0,0,0,0,0,66,69,71,73,78,0,0,0,82,69,76,69,65,83,69,0,82,79,76,76,66,65,67,75,0,0,0,0,0,0,0,0,67,79,77,77,73,84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,97,114,115,101,114,32,115,116,97,99,107,32,111,118,101,114,102,108,111,119,0,0,0,224,3,33,4,75,5,132,4,180,4,180,4,1,0,6,1,237,255,135,0,135,0,8,3,180,4,180,4,180,4,180,4,69,0,69,0,53,0,208,0,27,1,243,2,58,0,213,2,136,2,59,2,238,1,161,1,84,1,7,1,212,0,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,110,3,59,3,161,3,212,3,212,3,46,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,234,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,185,255,209,255,209,255,209,255,209,255,209,255,0,0,29,0,244,255,27,1,27,1,139,0,91,0,136,1,136,1,126,3,160,2,214,2,103,5,170,255,170,255,170,255,88,0,62,1,62,1,99,0,125,1,236,255,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,112,2,108,3,214,2,160,2,60,5,60,5,60,5,60,5,60,5,60,5,170,255,170,255,170,255,49,1,136,0,136,0,142,0,167,0,226,0,154,0,137,0,152,0,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,80,1,80,1,80,1,27,1,27,1,96,1,27,1,27,1,27,1,27,1,27,1,228,0,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,245,1,57,2,84,2,84,2,84,2,251,1,241,1,185,1,135,1,97,1,156,0,156,0,89,3,97,1,89,3,223,2,45,3,127,2,203,2,156,0,76,1,203,2,203,2,240,1,163,1,134,2,77,5,160,4,160,4,55,5,55,5,160,4,61,5,236,4,120,4,66,5,66,5,66,5,66,5,160,4,26,5,120,4,61,5,236,4,236,4,120,4,160,4,26,5,182,4,4,5,160,4,160,4,26,5,160,4,26,5,160,4,26,5,238,4,183,4,183,4,183,4,250,4,238,4,183,4,193,4,183,4,250,4,183,4,183,4,161,4,176,4,161,4,176,4,161,4,176,4,160,4,160,4,137,4,238,4,178,4,178,4,238,4,130,4,131,4,123,4,128,4,120,4,217,4,215,4,226,4,226,4,230,4,230,4,230,4,230,4,170,255,170,255,170,255,170,255,170,255,170,255,44,4,48,1,14,2,249,0,152,1,173,255,178,1,44,3,27,0,43,3,39,3,34,3,239,2,77,2,139,2,163,0,131,0,162,2,110,1,194,1,43,1,148,0,23,0,102,0,229,0,235,255,221,4,220,4,198,4,75,4,204,4,148,4,199,4,191,4,189,4,91,4,82,4,99,4,86,4,185,4,81,4,188,4,202,4,74,4,65,4,116,4,115,4,80,4,165,4,154,4,70,4,187,4,181,4,163,4,77,4,47,4,129,4,151,4,122,4,114,4,127,4,67,4,140,4,141,4,139,4,45,4,48,4,124,4,88,4,110,4,103,4,105,4,102,4,68,4,90,4,94,4,64,4,66,4,69,4,63,4,60,4,219,3,55,4,53,4,50,4,41,4,156,3,253,3,246,3,236,3,238,3,51,3,227,2,128,3,87,3,36,3,227,2,228,2,224,2,178,2,142,2,153,2,106,2,70,2,56,2,16,2,42,2,123,1,20,2,223,1,199,1,123,1,176,1,115,1,85,1,28,0,82,1,116,0,245,255,199,255,171,255,7,0,248,255,3,0,0,0,0,0,135,2,196,3,196,3,196,3,110,3,110,3,201,3,196,3,6,3,34,3,34,3,170,3,201,3,201,3,201,3,108,3,201,3,201,3,201,3,196,3,201,3,10,3,40,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,169,3,171,3,48,3,47,3,150,3,21,3,45,3,38,3,42,3,111,3,104,3,105,3,103,3,107,3,112,3,201,3,41,3,73,3,88,3,72,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,82,3,87,3,94,3,86,3,83,3,75,3,74,3,76,3,77,3,201,3,201,3,161,2,227,2,201,3,201,3,78,3,201,3,173,2,79,3,91,3,90,3,89,3,168,2,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,135,2,196,3,201,3,201,3,196,3,196,3,196,3,196,3,196,3,196,3,188,3,10,3,0,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,176,3,174,3,201,3,123,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,141,2,201,3,143,3,6,3,6,3,6,3,8,3,242,2,254,2,143,2,44,3,23,3,23,3,155,3,44,3,155,3,198,2,221,2,195,2,34,3,23,3,106,3,34,3,34,3,7,3,254,2,201,3,181,3,14,3,14,3,173,3,173,3,14,3,53,3,231,2,44,3,238,2,238,2,238,2,238,2,14,3,158,2,44,3,53,3,231,2,231,2,44,3,14,3,158,2,149,3,147,3,14,3,14,3,158,2,14,3,158,2,14,3,158,2,116,3,229,2,229,2,229,2,213,2,116,3,229,2,198,2,229,2,213,2,229,2,229,2,27,3,22,3,27,3,22,3,27,3,22,3,14,3,14,3,201,3,116,3,120,3,120,3,116,3,39,3,28,3,37,3,35,3,44,3,164,2,216,2,151,2,151,2,140,2,140,2,140,2,140,2,193,3,193,3,188,3,200,2,200,2,183,2,201,3,201,3,201,3,201,3,201,3,201,3,175,2,201,3,125,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,60,3,201,3,136,2,183,3,201,3,201,3,180,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,153,3,201,3,201,3,201,3,201,3,201,3,201,3,146,3,145,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,245,2,201,3,201,3,201,3,249,2,201,3,201,3,201,3,201,3,201,3,201,3,36,3,201,3,29,3,201,3,109,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,201,3,198,3,201,3,201,3,201,3,197,3,201,3,201,3,201,3,201,3,201,3,62,3,201,3,61,3,65,3,201,3,149,2,201,3,132,2,137,2,192,3,195,3,194,3,191,3,190,3,189,3,184,3,182,3,179,3,178,3,177,3,175,3,172,3,168,3,129,3,127,3,134,3,133,3,132,3,131,3,130,3,128,3,126,3,124,3,50,3,49,3,46,3,43,3,241,2,167,3,122,3,240,2,237,2,236,2,157,2,185,3,152,3,161,3,160,3,159,3,54,3,158,3,157,3,156,3,154,3,151,3,138,3,52,3,51,3,232,2,114,3,113,3,160,2,142,3,141,3,140,3,144,3,148,3,139,3,16,3,239,2,159,2,156,2,163,2,167,2,219,2,220,2,228,2,226,2,225,2,224,2,223,2,222,2,218,2,169,2,174,2,212,2,197,2,196,2,205,2,204,2,210,2,209,2,208,2,207,2,206,2,203,2,202,2,201,2,194,2,193,2,199,2,192,2,215,2,214,2,211,2,191,2,235,2,234,2,233,2,230,2,190,2,189,2,188,2,65,3,187,2,186,2,70,3,69,3,98,3,58,3,243,2,247,2,246,2,250,2,251,2,3,3,2,3,1,3,12,3,13,3,25,3,24,3,56,3,55,3,26,3,11,3,5,3,4,3,20,3,19,3,18,3,17,3,9,3,255,2,31,3,30,3,100,3,15,3,99,3,97,3,166,3,165,3,164,3],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+28952);allocate([163,3,162,3,102,3,199,3,200,3,119,3,121,3,118,3,33,3,32,3,117,3,101,3,71,3,68,3,178,2,179,2,137,3,136,3,135,3,181,2,180,2,177,2,176,2,95,3,92,3,84,3,96,3,93,3,85,3,81,3,80,3,66,3,64,3,63,3,59,3,67,3,248,2,244,2,57,3,253,2,252,2,185,2,184,2,182,2,166,2,165,2,162,2,155,2,153,2,152,2,154,2,150,2,148,2,147,2,146,2,145,2,144,2,172,2,171,2,170,2,142,2,139,2,138,2,134,2,133,2,131,2,0,0,0,0,19,22,22,23,1,24,26,15,27,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,108,109,110,27,28,23,50,51,80,81,82,83,122,85,86,87,88,89,90,91,92,93,94,95,22,70,23,71,72,73,74,75,76,77,78,79,80,81,82,83,122,85,86,87,88,89,90,91,92,93,94,95,19,97,91,92,93,94,95,26,85,86,87,88,89,90,91,92,93,94,95,27,28,97,98,99,122,211,102,103,104,79,19,50,51,19,122,59,55,113,224,225,226,89,90,91,92,93,94,95,23,27,28,26,71,72,73,74,75,76,77,78,79,80,81,82,83,51,85,86,87,88,89,90,91,92,93,94,95,19,132,133,58,89,90,21,108,109,110,27,28,97,98,33,100,7,8,119,120,22,19,107,42,109,27,28,27,28,95,28,50,51,99,100,101,102,103,104,105,27,28,97,98,107,152,112,132,133,112,65,69,71,72,73,74,75,76,77,78,79,80,81,82,83,11,85,86,87,88,89,90,91,92,93,94,95,19,101,97,97,98,24,101,122,157,12,99,103,112,102,103,104,152,22,97,98,97,98,27,28,113,27,29,91,164,165,124,50,51,97,98,219,59,132,133,134,22,23,45,66,47,212,213,124,140,132,133,19,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,164,165,27,28,230,50,51,233,108,109,110,70,16,59,23,97,98,26,97,22,66,185,12,187,27,28,71,72,73,74,75,76,77,78,79,80,81,82,83,29,85,86,87,88,89,90,91,92,93,94,95,19,22,148,149,45,23,47,62,154,64,156,108,109,110,37,69,23,163,59,26,26,97,98,144,145,146,147,152,200,52,23,50,51,26,22,89,90,60,210,7,8,9,138,97,22,23,26,101,26,174,175,197,71,72,73,74,75,76,77,78,79,80,81,82,83,16,85,86,87,88,89,90,91,92,93,94,95,19,132,133,134,23,152,208,209,140,152,152,111,195,196,98,70,163,160,152,23,22,164,165,246,207,27,152,174,175,171,172,50,51,137,62,139,64,171,172,222,124,27,138,24,163,89,90,130,174,175,197,163,71,72,73,74,75,76,77,78,79,80,81,82,83,22,85,86,87,88,89,90,91,92,93,94,95,19,197,181,182,23,208,209,152,197,26,189,132,133,232,224,225,226,152,97,91,26,232,116,212,213,152,222,121,152,174,175,50,51,243,97,22,23,22,234,174,175,177,23,239,116,163,177,174,175,121,174,175,71,72,73,74,75,76,77,78,79,80,81,82,83,24,85,86,87,88,89,90,91,92,93,94,95,19,23,197,11,23,227,70,208,220,152,31,224,225,226,35,98,224,225,226,108,109,110,115,152,117,118,27,222,49,123,24,50,51,27,0,1,2,224,225,226,166,124,168,169,239,174,175,170,171,172,22,194,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,19,22,208,24,23,195,196,170,171,172,174,175,152,26,152,152,152,207,152,97,152,23,152,51,244,152,97,152,247,248,23,50,51,26,174,175,174,175,174,175,174,175,174,175,174,175,23,174,175,174,175,188,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,19,152,107,152,33,24,152,100,101,27,174,175,152,42,152,23,152,26,152,23,152,26,152,174,175,174,175,152,174,175,23,50,51,26,174,175,174,175,174,175,174,175,174,175,174,175,163,119,120,174,175,19,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,66,152,97,197,23,50,51,26,53,23,174,175,26,23,23,23,26,26,26,36,106,146,147,174,175,19,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,152,196,119,120,19,50,51,168,169,26,174,175,207,28,152,249,250,152,163,163,163,163,174,175,163,19,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,152,197,197,197,197,50,51,197,194,36,174,175,191,192,152,191,192,163,152,66,124,152,174,175,152,19,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,197,152,100,188,152,50,51,152,152,188,174,175,252,152,94,95,152,152,152,1,2,152,152,174,175,19,152,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,152,188,188,22,194,50,51,240,173,194,174,175,252,194,152,36,181,28,152,23,219,122,174,175,219,221,152,152,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,19,20,152,22,23,194,152,240,27,28,174,175,240,19,20,26,22,194,194,38,22,27,28,152,23,22,152,116,174,175,152,23,38,152,23,152,221,152,57,152,23,163,50,51,194,174,175,66,174,175,69,57,174,175,40,174,175,174,175,174,175,174,175,69,22,53,74,75,30,53,89,90,22,22,152,197,23,96,97,98,22,152,101,89,90,91,208,209,152,53,96,97,98,101,22,101,174,175,152,19,20,105,22,174,175,112,19,27,28,20,174,175,24,132,133,134,135,136,38,44,174,175,107,61,54,26,132,133,134,135,136,54,107,22,5,140,1,57,36,111,122,28,79,79,131,123,66,19,20,69,22,1,16,20,125,27,28,123,111,120,23,131,23,16,68,142,38,15,22,89,90,3,167,4,248,251,96,97,98,180,180,101,251,151,6,57,151,13,151,26,25,151,161,202,153,162,153,69,130,128,203,19,20,127,22,126,204,129,22,27,28,205,132,133,134,135,136,89,90,231,38,95,137,179,96,97,98,206,179,101,122,107,159,159,125,231,216,228,107,57,184,217,216,176,217,176,48,106,18,184,158,69,159,158,46,71,237,176,176,176,132,133,134,135,136,217,176,137,216,178,158,89,90,179,176,159,179,159,96,97,98,159,159,101,5,158,202,22,18,10,11,12,13,14,190,238,17,190,158,193,41,159,202,193,159,202,245,193,193,223,190,32,159,34,132,133,134,135,136,159,39,155,43,150,223,177,201,178,177,186,66,199,177,152,253,56,215,152,182,152,202,152,63,152,152,66,67,242,229,152,174,152,152,152,152,152,152,152,199,242,202,152,198,152,152,152,183,192,152,215,152,183,215,183,152,241,214,152,211,152,152,211,211,152,152,241,152,152,152,152,152,152,152,114,152,152,235,152,152,152,174,187,95,174,253,253,253,253,236,253,253,253,253,253,253,253,253,253,253,253,141,0,0,0,0,0,0,0,0,0,27,27,27,27,0,27,27,27,0,27,27,27,27,0,0,0,27,0,0,27,0,0,0,27,0,0,0,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,0,0,115,113,108,105,116,101,51,95,103,101,116,95,116,97,98,108,101,40,41,32,99,97,108,108,101,100,32,119,105,116,104,32,116,119,111,32,111,114,32,109,111,114,101,32,105,110,99,111,109,112,97,116,105,98,108,101,32,113,117,101,114,105,101,115,0,0,0,0,0,0,0,0,100,97,116,97,98,97,115,101,32,115,99,104,101,109,97,32,105,115,32,108,111,99,107,101,100,58,32,37,115,0,0,0,115,116,97,116,101,109,101,110,116,32,116,111,111,32,108,111,110,103,0,0,0,0,0,0,128,160,0,0,136,160,0,0,144,160,0,0,152,160,0,0,160,160,0,0,168,160,0,0,176,160,0,0,184,160,0,0,192,160,0,0,208,160,0,0,136,122,0,0,216,160,0,0,97,100,100,114,0,0,0,0,111,112,99,111,100,101,0,0,112,49,0,0,0,0,0,0,112,50,0,0,0,0,0,0,112,51,0,0,0,0,0,0,112,52,0,0,0,0,0,0,112,53,0,0,0,0,0,0,99,111,109,109,101,110,116,0,115,101,108,101,99,116,105,100,0,0,0,0,0,0,0,0,111,114,100,101,114,0,0,0,100,101,116,97,105,108,0,0,115,111,0,0,0,0,0,0,115,113,108,105,116,101,51,95,101,120,116,101,110,115,105,111,110,95,105,110,105,116,0,0,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,115,104,97,114,101,100,32,108,105,98,114,97,114,121,32,91,37,115,93,0,0,0,0,0,0,108,105,98,0,0,0,0,0,95,105,110,105,116,0,0,0,110,111,32,101,110,116,114,121,32,112,111,105,110,116,32,91,37,115,93,32,105,110,32,115,104,97,114,101,100,32,108,105,98,114,97,114,121,32,91,37,115,93,0,0,0,0,0,0,101,114,114,111,114,32,100,117,114,105,110,103,32,105,110,105,116,105,97,108,105,122,97,116,105,111,110,58,32,37,115,0,117,110,111,112,101,110,101,100,0,0,0,0,0,0,0,0,110,111,32,115,117,99,104,32,118,105,101,119,0,0,0,0,110,111,32,115,117,99,104,32,116,97,98,108,101,0,0,0,99,97,110,110,111,116,32,111,112,101,110,32,118,97,108,117,101,32,111,102,32,116,121,112,101,32,37,115,0,0,0,0,110,111,32,115,117,99,104,32,114,111,119,105,100,58,32,37,108,108,100,0,0,0,0,0,98,105,110,100,32,111,110,32,97,32,98,117,115,121,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,58,32,91,37,115,93,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,162,0,0,96,162,0,0,104,162,0,0,112,162,0,0,78,79,84,32,78,85,76,76,0,0,0,0,0,0,0,0,85,78,73,81,85,69,0,0,67,72,69,67,75,0,0,0,70,79,82,69,73,71,78,32,75,69,89,0,0,0,0,0,97,98,111,114,116,32,97,116,32,37,100,32,105,110,32,91,37,115,93,58,32,37,115,0,37,115,32,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,58,32,37,115,0,0,0,0,0,0,0,0,37,115,32,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,0,0,0,0,0,0,0,1,2,0,2,2,0,0,0,0,0,0,0,0,1,2,1,1,1,2,1,2,0,0,0,0,0,0,0,99,97,110,110,111,116,32,111,112,101,110,32,115,97,118,101,112,111,105,110,116,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,0,0,0,0,0,110,111,32,115,117,99,104,32,115,97,118,101,112,111,105,110,116,58,32,37,115,0,0,0,99,97,110,110,111,116,32,114,101,108,101,97,115,101,32,115,97,118,101,112,111,105,110,116,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,0,0,99,97,110,110,111,116,32,99,111,109,109,105,116,32,116,114,97,110,115,97,99,116,105,111,110,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,0,99,97,110,110,111,116,32,115,116,97,114,116,32,97,32,116,114,97,110,115,97,99,116,105,111,110,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,99,97,110,110,111,116,32,114,111,108,108,98,97,99,107,32,45,32,110,111,32,116,114,97,110,115,97,99,116,105,111,110,32,105,115,32,97,99,116,105,118,101,0,0,0,0,0,0,99,97,110,110,111,116,32,99,111,109,109,105,116,32,45,32,110,111,32,116,114,97,110,115,97,99,116,105,111,110,32,105,115,32,97,99,116,105,118,101,0,0,0,0,0,0,0,0,83,69,76,69,67,84,32,110,97,109,101,44,32,114,111,111,116,112,97,103,101,44,32,115,113,108,32,70,82,79,77,32,39,37,113,39,46,37,115,32,87,72,69,82,69,32,37,115,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,0,116,111,111,32,109,97,110,121,32,108,101,118,101,108,115,32,111,102,32,116,114,105,103,103,101,114,32,114,101,99,117,114,115,105,111,110,0,0,0,0,99,97,110,110,111,116,32,99,104,97,110,103,101,32,37,115,32,119,97,108,32,109,111,100,101,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,0,0,0,0,105,110,116,111,0,0,0,0,111,117,116,32,111,102,0,0,100,97,116,97,98,97,115,101,32,116,97,98,108,101,32,105,115,32,108,111,99,107,101,100,58,32,37,115,0,0,0,0,115,116,97,116,101,109,101,110,116,32,97,98,111,114,116,115,32,97,116,32,37,100,58,32,91,37,115,93,32,37,115,0,45,45,32,0,0,0,0,0,39,37,46,42,113,39,0,0,122,101,114,111,98,108,111,98,40,37,100,41,0,0,0,0,120,39,0,0,0,0,0,0,37,48,50,120,0,0,0,0,39,0,0,0,0,0,0,0,99,97,110,110,111,116,32,86,65,67,85,85,77,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,99,97,110,110,111,116,32,86,65,67,85,85,77,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,0,0,0,0,0,65,84,84,65,67,72,32,39,58,109,101,109,111,114,121,58,39,32,65,83,32,118,97,99,117,117,109,95,100,98,59,0,65,84,84,65,67,72,32,39,39,32,65,83,32,118,97,99,117,117,109,95,100,98,59,0,80,82,65,71,77,65,32,118,97,99,117,117,109,95,100,98,46,115,121,110,99,104,114,111,110,111,117,115,61,79,70,70,0,0,0,0,0,0,0,0,66,69,71,73,78,59,0,0,83,69,76,69,67,84,32,39,67,82,69,65,84,69,32,84,65,66,76,69,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,115,117,98,115,116,114,40,115,113,108,44,49,52,41,32,32,32,70,82,79,77,32,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,121,112,101,61,39,116,97,98,108,101,39,32,65,78,68,32,110,97,109,101,33,61,39,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,39,32,32,32,65,78,68,32,99,111,97,108,101,115,99,101,40,114,111,111,116,112,97,103,101,44,49,41,62,48,0,0,0,0,0,83,69,76,69,67,84,32,39,67,82,69,65,84,69,32,73,78,68,69,88,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,115,117,98,115,116,114,40,115,113,108,44,49,52,41,32,32,70,82,79,77,32,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,115,113,108,32,76,73,75,69,32,39,67,82,69,65,84,69,32,73,78,68,69,88,32,37,39,32,0,83,69,76,69,67,84,32,39,67,82,69,65,84,69,32,85,78,73,81,85,69,32,73,78,68,69,88,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,115,117,98,115,116,114,40,115,113,108,44,50,49,41,32,32,32,70,82,79,77,32,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,115,113,108,32,76,73,75,69,32,39,67,82,69,65,84,69,32,85,78,73,81,85,69,32,73,78,68,69,88,32,37,39,0,0,0,83,69,76,69,67,84,32,39,73,78,83,69,82,84,32,73,78,84,79,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,113,117,111,116,101,40,110,97,109,101,41,32,124,124,32,39,32,83,69,76,69,67,84,32,42,32,70,82,79,77,32,109,97,105,110,46,39,32,124,124,32,113,117,111,116,101,40,110,97,109,101,41,32,124,124,32,39,59,39,70,82,79,77,32,109,97,105,110,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,121,112,101,32,61,32,39,116,97,98,108,101,39,32,65,78,68,32,110,97,109,101,33,61,39,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,39,32,32,32,65,78,68,32,99,111,97,108,101,115,99,101,40,114,111,111,116,112,97,103,101,44,49,41,62,48,0,0,0,0,0,83,69,76,69,67,84,32,39,68,69,76,69,84,69,32,70,82,79,77,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,113,117,111,116,101,40,110,97,109,101,41,32,124,124,32,39,59,39,32,70,82,79,77,32,118,97,99,117,117,109,95,100,98,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,110,97,109,101,61,39,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,39,32,0,0,0,0,0,0,0,0,83,69,76,69,67,84,32,39,73,78,83,69,82,84,32,73,78,84,79,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,113,117,111,116,101,40,110,97,109,101,41,32,124,124,32,39,32,83,69,76,69,67,84,32,42,32,70,82,79,77,32,109,97,105,110,46,39,32,124,124,32,113,117,111,116,101,40,110,97,109,101,41,32,124,124,32,39,59,39,32,70,82,79,77,32,118,97,99,117,117,109,95,100,98,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,110,97,109,101,61,61,39,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,39,59,0,0,0,0,0,0,73,78,83,69,82,84,32,73,78,84,79,32,118,97,99,117,117,109,95,100,98,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,32,32,83,69,76,69,67,84,32,116,121,112,101,44,32,110,97,109,101,44,32,116,98,108,95,110,97,109,101,44,32,114,111,111,116,112,97,103,101,44,32,115,113,108,32,32,32,32,70,82,79,77,32,109,97,105,110,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,32,32,87,72,69,82,69,32,116,121,112,101,61,39,118,105,101,119,39,32,79,82,32,116,121,112,101,61,39,116,114,105,103,103,101,114,39,32,32,32,32,32,32,79,82,32,40,116,121,112,101,61,39,116,97,98,108,101,39,32,65,78,68,32,114,111,111,116,112,97,103,101,61,48,41,0,1,1,3,0,5,0,6,0,8,0,0,0,0,0,0,0,77,97,105,110,32,102,114,101,101,108,105,115,116,58,32,0,76,105,115,116,32,111,102,32,116,114,101,101,32,114,111,111,116,115,58,32,0,0,0,0,80,97,103,101,32,37,100,32,105,115,32,110,101,118,101,114,32,117,115,101,100,0,0,0,80,111,105,110,116,101,114,32,109,97,112,32,112,97,103,101,32,37,100,32,105,115,32,114,101,102,101,114,101,110,99,101,100,0,0,0,0,0,0,0,79,117,116,115,116,97,110,100,105,110,103,32,112,97,103,101,32,99,111,117,110,116,32,103,111,101,115,32,102,114,111,109,32,37,100,32,116,111,32,37,100,32,100,117,114,105,110,103,32,116,104,105,115,32,97,110,97,108,121,115,105,115,0,0,10,0,0,0,0,0,0,0,80,97,103,101,32,37,100,58,32,0,0,0,0,0,0,0,117,110,97,98,108,101,32,116,111,32,103,101,116,32,116,104,101,32,112,97,103,101,46,32,101,114,114,111,114,32,99,111,100,101,61,37,100,0,0,0,98,116,114,101,101,73,110,105,116,80,97,103,101,40,41,32,114,101,116,117,114,110,115,32,101,114,114,111,114,32,99,111,100,101,32,37,100,0,0,0,79,110,32,116,114,101,101,32,112,97,103,101,32,37,100,32,99,101,108,108,32,37,100,58,32,0,0,0,0,0,0,0,82,111,119,105,100,32,37,108,108,100,32,111,117,116,32,111,102,32,111,114,100,101,114,32,40,112,114,101,118,105,111,117,115,32,119,97,115,32,37,108,108,100,41,0,0,0,0,0,67,104,105,108,100,32,112,97,103,101,32,100,101,112,116,104,32,100,105,102,102,101,114,115,0,0,0,0,0,0,0,0,79,110,32,112,97,103,101,32,37,100,32,97,116,32,114,105,103,104,116,32,99,104,105,108,100,58,32,0,0,0,0,0,82,111,119,105,100,32,37,108,108,100,32,111,117,116,32,111,102,32,111,114,100,101,114,32,40,109,97,120,32,108,97,114,103,101,114,32,116,104,97,110,32,112,97,114,101,110,116,32,109,105,110,32,111,102,32,37,108,108,100,41,0,0,0,0,82,111,119,105,100,32,37,108,108,100,32,111,117,116,32,111,102,32,111,114,100,101,114,32,40,109,105,110,32,108,101,115,115,32,116,104,97,110,32,112,97,114,101,110,116,32,109,105,110,32,111,102,32,37,108,108,100,41,0,0,0,0,0,0,82,111,119,105,100,32,37,108,108,100,32,111,117,116,32,111,102,32,111,114,100,101,114,32,40,109,97,120,32,108,97,114,103,101,114,32,116,104,97,110,32,112,97,114,101,110,116,32,109,97,120,32,111,102,32,37,108,108,100,41,0,0,0,0,82,111,119,105,100,32,37,108,108,100,32,111,117,116,32,111,102,32,111,114,100,101,114,32,40,109,105,110,32,108,101,115,115,32,116,104,97,110,32,112,97,114,101,110,116,32,109,97,120,32,111,102,32,37,108,108,100,41,0,0,0,0,0,0,67,111,114,114,117,112,116,105,111,110,32,100,101,116,101,99,116,101,100,32,105,110,32,99,101,108,108,32,37,100,32,111,110,32,112,97,103,101,32,37,100,0,0,0,0,0,0,0,77,117,108,116,105,112,108,101,32,117,115,101,115,32,102,111,114,32,98,121,116,101,32,37,100,32,111,102,32,112,97,103,101,32,37,100,0,0,0,0,70,114,97,103,109,101,110,116,97,116,105,111,110,32,111,102,32,37,100,32,98,121,116,101,115,32,114,101,112,111,114,116,101,100,32,97,115,32,37,100,32,111,110,32,112,97,103,101,32,37,100,0,0,0,0,0,105,110,118,97,108,105,100,32,112,97,103,101,32,110,117,109,98,101,114,32,37,100,0,0,50,110,100,32,114,101,102,101,114,101,110,99,101,32,116,111,32,112,97,103,101,32,37,100,0,0,0,0,0,0,0,0,70,97,105,108,101,100,32,116,111,32,114,101,97,100,32,112,116,114,109,97,112,32,107,101,121,61,37,100,0,0,0,0,66,97,100,32,112,116,114,32,109,97,112,32,101,110,116,114,121,32,107,101,121,61,37,100,32,101,120,112,101,99,116,101,100,61,40,37,100,44,37,100,41,32,103,111,116,61,40,37,100,44,37,100,41,0,0,0,37,100,32,111,102,32,37,100,32,112,97,103,101,115,32,109,105,115,115,105,110,103,32,102,114,111,109,32,111,118,101,114,102,108,111,119,32,108,105,115,116,32,115,116,97,114,116,105,110,103,32,97,116,32,37,100,0,0,0,0,0,0,0,0,102,97,105,108,101,100,32,116,111,32,103,101,116,32,112,97,103,101,32,37,100,0,0,0,102,114,101,101,108,105,115,116,32,108,101,97,102,32,99,111,117,110,116,32,116,111,111,32,98,105,103,32,111,110,32,112,97,103,101,32,37,100,0,0,83,81,76,105,116,101,32,102,111,114,109,97,116,32,51,0,37,115,45,109,106,88,88,88,88,88,88,57,88,88,122,0,77,74,32,100,101,108,101,116,101,58,32,37,115,0,0,0,77,74,32,99,111,108,108,105,100,101,58,32,37,115,0,0,45,109,106,37,48,54,88,57,37,48,50,88,0,0,0,0,37,46,50,120,0,0,0,0,107,40,37,100,0,0,0,0,110,105,108,0,0,0,0,0,66,0,0,0,0,0,0,0,40,37,46,50,48,115,41,0,37,115,40,37,100,41,0,0,37,100,0,0,0,0,0,0,40,98,108,111,98,41,0,0,118,116,97,98,58,37,112,0,105,110,116,97,114,114,97,121,0,0,0,0,0,0,0,0,112,114,111,103,114,97,109,0,240,52,0,0,176,177,0,0,192,177,0,0,208,177,0,0,224,177,0,0,240,177,0,0,0,178,0,0,16,178,0,0,32,178,0,0,40,178,0,0,48,178,0,0,56,178,0,0,72,178,0,0,88,178,0,0,96,178,0,0,104,178,0,0,112,178,0,0,120,178,0,0,128,178,0,0,136,178,0,0,144,178,0,0,160,178,0,0,176,178,0,0,184,178,0,0,200,178,0,0,208,178,0,0,216,178,0,0,224,178,0,0,232,178,0,0,240,178,0,0,0,179,0,0,8,179,0,0,24,179,0,0,32,179,0,0,40,179,0,0,48,179,0,0,64,179,0,0,72,179,0,0,80,179,0,0,96,179,0,0,112,179,0,0,120,179,0,0,136,179,0,0,144,179,0,0,152,179,0,0,160,179,0,0,168,179,0,0,176,179,0,0,184,179,0,0,200,179,0,0,216,179,0,0,224,179,0,0,240,179,0,0,0,180,0,0,16,180,0,0,32,180,0,0,48,180,0,0,64,180,0,0,80,180,0,0,96,180,0,0,112,180,0,0,128,180,0,0,136,180,0,0,144,180,0,0,152,180,0,0,160,180,0,0,168,180,0,0,176,180,0,0,192,180,0,0,208,180,0,0,216,180,0,0,232,180,0,0,240,180,0,0,248,180,0,0,8,181,0,0,24,181,0,0,32,181,0,0,40,181,0,0,48,181,0,0,56,181,0,0,64,181,0,0,72,181,0,0,80,181,0,0,88,181,0,0,96,181,0,0,112,181,0,0,120,181,0,0,128,181,0,0,144,181,0,0,160,181,0,0,168,181,0,0,184,181,0,0,200,181,0,0,208,181,0,0,224,181,0,0,232,181,0,0,240,181,0,0,248,181,0,0,0,182,0,0,16,182,0,0,32,182,0,0,48,182,0,0,56,182,0,0,64,182,0,0,72,182,0,0,80,182,0,0,88,182,0,0,104,182,0,0,112,182,0,0,120,182,0,0,136,182,0,0,152,182,0,0,168,182,0,0,184,182,0,0,192,182,0,0,200,182,0,0,208,182,0,0,216,182,0,0,224,182,0,0,232,182,0,0,248,182,0,0,8,183,0,0,24,183,0,0,40,183,0,0,56,183,0,0,72,183,0,0,88,183,0,0,104,183,0,0,120,183,0,0,136,183,0,0,152,183,0,0,168,183,0,0,176,183,0,0,184,183,0,0,192,183,0,0,208,183,0,0,224,183,0,0,232,183,0,0,240,183,0,0,248,183,0,0,8,184,0,0,24,184,0,0,40,184,0,0,56,184,0,0,72,184,0,0,80,184,0,0,96,184,0,0,104,184,0,0,112,184,0,0,128,184,0,0,136,184,0,0,144,184,0,0,152,184,0,0,160,184,0,0,176,184,0,0,192,184,0,0,200,184,0,0,208,184,0,0,70,117,110,99,116,105,111,110,0,0,0,0,0,0,0,0,83,97,118,101,112,111,105,110,116,0,0,0,0,0,0,0,65,117,116,111,67,111,109,109,105,116,0,0,0,0,0,0,84,114,97,110,115,97,99,116,105,111,110,0,0,0,0,0,83,111,114,116,101,114,78,101,120,116,0,0,0,0,0,0,80,114,101,118,73,102,79,112,101,110,0,0,0,0,0,0,78,101,120,116,73,102,79,112,101,110,0,0,0,0,0,0,80,114,101,118,0,0,0,0,78,101,120,116,0,0,0,0,65,103,103,83,116,101,112,0,67,104,101,99,107,112,111,105,110,116,0,0,0,0,0,0,74,111,117,114,110,97,108,77,111,100,101,0,0,0,0,0,86,97,99,117,117,109,0,0,86,70,105,108,116,101,114,0,86,85,112,100,97,116,101,0,71,111,116,111,0,0,0,0,71,111,115,117,98,0,0,0,82,101,116,117,114,110,0,0,78,111,116,0,0,0,0,0,73,110,105,116,67,111,114,111,117,116,105,110,101,0,0,0,69,110,100,67,111,114,111,117,116,105,110,101,0,0,0,0,89,105,101,108,100,0,0,0,72,97,108,116,73,102,78,117,108,108,0,0,0,0,0,0,72,97,108,116,0,0,0,0,73,110,116,101,103,101,114,0,73,110,116,54,52,0,0,0,83,116,114,105,110,103,0,0,78,117,108,108,0,0,0,0,83,111,102,116,78,117,108,108,0,0,0,0,0,0,0,0,66,108,111,98,0,0,0,0,86,97,114,105,97,98,108,101,0,0,0,0,0,0,0,0,77,111,118,101,0,0,0,0,67,111,112,121,0,0,0,0,83,67,111,112,121,0,0,0,82,101,115,117,108,116,82,111,119,0,0,0,0,0,0,0,67,111,108,108,83,101,113,0,65,100,100,73,109,109,0,0,77,117,115,116,66,101,73,110,116,0,0,0,0,0,0,0,82,101,97,108,65,102,102,105,110,105,116,121,0,0,0,0,67,97,115,116,0,0,0,0,80,101,114,109,117,116,97,116,105,111,110,0,0,0,0,0,67,111,109,112,97,114,101,0,74,117,109,112,0,0,0,0,79,110,99,101,0,0,0,0,73,102,0,0,0,0,0,0,73,102,78,111,116,0,0,0,67,111,108,117,109,110,0,0,65,102,102,105,110,105,116,121,0,0,0,0,0,0,0,0,77,97,107,101,82,101,99,111,114,100,0,0,0,0,0,0,67,111,117,110,116,0,0,0,82,101,97,100,67,111,111,107,105,101,0,0,0,0,0,0,83,101,116,67,111,111,107,105,101,0,0,0,0,0,0,0,82,101,111,112,101,110,73,100,120,0,0,0,0,0,0,0,79,112,101,110,82,101,97,100,0,0,0,0,0,0,0,0,79,112,101,110,87,114,105,116,101,0,0,0,0,0,0,0,79,112,101,110,65,117,116,111,105,110,100,101,120,0,0,0,79,112,101,110,69,112,104,101,109,101,114,97,108,0,0,0,83,111,114,116,101,114,79,112,101,110,0,0,0,0,0,0,83,101,113,117,101,110,99,101,84,101,115,116,0,0,0,0,79,112,101,110,80,115,101,117,100,111,0,0,0,0,0,0,67,108,111,115,101,0,0,0,83,101,101,107,76,84,0,0,83,101,101,107,76,69,0,0,83,101,101,107,71,69,0,0,83,101,101,107,71,84,0,0,83,101,101,107,0,0,0,0,78,111,67,111,110,102,108,105,99,116,0,0,0,0,0,0,78,111,116,70,111,117,110,100,0,0,0,0,0,0,0,0,70,111,117,110,100,0,0,0,78,111,116,69,120,105,115,116,115,0,0,0,0,0,0,0,79,114,0,0,0,0,0,0,65,110,100,0,0,0,0,0,83,101,113,117,101,110,99,101,0,0,0,0,0,0,0,0,78,101,119,82,111,119,105,100,0,0,0,0,0,0,0,0,73,110,115,101,114,116,0,0,73,115,78,117,108,108,0,0,78,111,116,78,117,108,108,0,78,101,0,0,0,0,0,0,69,113,0,0,0,0,0,0,71,116,0,0,0,0,0,0,76,101,0,0,0,0,0,0,76,116,0,0,0,0,0,0,71,101,0,0,0,0,0,0,73,110,115,101,114,116,73,110,116,0,0,0,0,0,0,0,66,105,116,65,110,100,0,0,66,105,116,79,114,0,0,0,83,104,105,102,116,76,101,102,116,0,0,0,0,0,0,0,83,104,105,102,116,82,105,103,104,116,0,0,0,0,0,0,65,100,100,0,0,0,0,0,83,117,98,116,114,97,99,116,0,0,0,0,0,0,0,0,77,117,108,116,105,112,108,121,0,0,0,0,0,0,0,0,68,105,118,105,100,101,0,0,82,101,109,97,105,110,100,101,114,0,0,0,0,0,0,0,67,111,110,99,97,116,0,0,68,101,108,101,116,101,0,0,66,105,116,78,111,116,0,0,83,116,114,105,110,103,56,0,82,101,115,101,116,67,111,117,110,116,0,0,0,0,0,0,83,111,114,116,101,114,67,111,109,112,97,114,101,0,0,0,83,111,114,116,101,114,68,97,116,97,0,0,0,0,0,0,82,111,119,75,101,121,0,0,82,111,119,68,97,116,97,0,82,111,119,105,100,0,0,0,78,117,108,108,82,111,119,0,76,97,115,116,0,0,0,0,83,111,114,116,101,114,83,111,114,116,0,0,0,0,0,0,83,111,114,116,0,0,0,0,82,101,119,105,110,100,0,0,83,111,114,116,101,114,73,110,115,101,114,116,0,0,0,0,73,100,120,73,110,115,101,114,116,0,0,0,0,0,0,0,73,100,120,68,101,108,101,116,101,0,0,0,0,0,0,0,73,100,120,82,111,119,105,100,0,0,0,0,0,0,0,0,73,100,120,76,69,0,0,0,73,100,120,71,84,0,0,0,73,100,120,76,84,0,0,0,73,100,120,71,69,0,0,0,68,101,115,116,114,111,121,0,67,108,101,97,114,0,0,0,82,101,115,101,116,83,111,114,116,101,114,0,0,0,0,0,67,114,101,97,116,101,73,110,100,101,120,0,0,0,0,0,67,114,101,97,116,101,84,97,98,108,101,0,0,0,0,0,80,97,114,115,101,83,99,104,101,109,97,0,0,0,0,0,76,111,97,100,65,110,97,108,121,115,105,115,0,0,0,0,68,114,111,112,84,97,98,108,101,0,0,0,0,0,0,0,68,114,111,112,73,110,100,101,120,0,0,0,0,0,0,0,68,114,111,112,84,114,105,103,103,101,114,0,0,0,0,0,73,110,116,101,103,114,105,116,121,67,107,0,0,0,0,0,82,111,119,83,101,116,65,100,100,0,0,0,0,0,0,0,82,111,119,83,101,116,82,101,97,100,0,0,0,0,0,0,82,111,119,83,101,116,84,101,115,116,0,0,0,0,0,0,80,114,111,103,114,97,109,0,80,97,114,97,109,0,0,0,82,101,97,108,0,0,0,0,70,107,67,111,117,110,116,101,114,0,0,0,0,0,0,0,70,107,73,102,90,101,114,111,0,0,0,0,0,0,0,0,77,101,109,77,97,120,0,0,73,102,80,111,115,0,0,0,73,102,78,101,103,0,0,0,73,102,78,111,116,90,101,114,111,0,0,0,0,0,0,0,68,101,99,114,74,117,109,112,90,101,114,111,0,0,0,0,74,117,109,112,90,101,114,111,73,110,99,114,0,0,0,0,65,103,103,70,105,110,97,108,0,0,0,0,0,0,0,0,73,110,99,114,86,97,99,117,117,109,0,0,0,0,0,0,69,120,112,105,114,101,0,0,84,97,98,108,101,76,111,99,107,0,0,0,0,0,0,0,86,66,101,103,105,110,0,0,86,67,114,101,97,116,101,0,86,68,101,115,116,114,111,121,0,0,0,0,0,0,0,0,86,79,112,101,110,0,0,0,86,67,111,108,117,109,110,0,86,78,101,120,116,0,0,0,86,82,101,110,97,109,101,0,80,97,103,101,99,111,117,110,116,0,0,0,0,0,0,0,77,97,120,80,103,99,110,116,0,0,0,0,0,0,0,0,73,110,105,116,0,0,0,0,78,111,111,112,0,0,0,0,69,120,112,108,97,105,110,0,65,80,73,32,99,97,108,108,101,100,32,119,105,116,104,32,78,85,76,76,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,0,65,80,73,32,99,97,108,108,101,100,32,119,105,116,104,32,102,105,110,97,108,105,122,101,100,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,0,0,0,0,64,32,32,0,0,0,0,0,100,101,115,116,105,110,97,116,105,111,110,32,100,97,116,97,98,97,115,101,32,105,115,32,105,110,32,117,115,101,0,0,117,110,107,110,111,119,110,32,100,97,116,97,98,97,115,101,32,37,115,0,0,0,0,0,1,0,0,0,67,0,0,0,17,0,0,0,18,0,0,0,31,0,0,0,53,0,0,0,54,0,0,0,55,0,0,0,56,0,0,0,57,0,0,0,32,0,0,0,68,0,0,0,69,0,0,0,0,0,0,0,15,0,0,0,19,0,0,0,58,0,0,0,19,0,0,0,16,0,0,0,0,0,0,0,24,187,0,0,33,0,0,0,0,0,0,0,240,186,0,0,70,0,0,0,0,0,0,0,72,59,0,0,59,0,0,0,0,0,0,0,32,187,0,0,60,0,0,0,0,0,0,0,40,187,0,0,61,0,0,0,0,0,0,0,48,187,0,0,62,0,0,0,0,0,0,0,56,187,0,0,63,0,0,0,0,0,0,0,72,187,0,0,34,0,0,0,0,0,0,0,80,187,0,0,35,0,0,0,0,0,0,0,88,187,0,0,0,0,0,0,0,0,0,0,96,187,0,0,0,0,0,0,0,0,0,0,104,187,0,0,36,0,0,0,0,0,0,0,112,187,0,0,0,0,0,0,0,0,0,0,120,187,0,0,0,0,0,0,0,0,0,0,136,187,0,0,64,0,0,0,0,0,0,0,144,187,0,0,0,0,0,0,0,0,0,0,160,187,0,0,71,0,0,0,0,0,0,0,168,187,0,0,65,0,0,0,0,0,0,0,184,187,0,0,66,0,0,0,0,0,0,0,192,187,0,0,72,0,0,0,0,0,0,0,200,187,0,0,37,0,0,0,0,0,0,0,208,187,0,0,4,0,0,0,0,0,0,0,216,187,0,0,67,0,0,0,0,0,0,0,224,187,0,0,0,0,0,0,0,0,0,0,232,187,0,0,6,0,0,0,0,0,0,0,0,0,0,0,99,108,111,115,101,0,0,0,111,115,95,117,110,105,120,46,99,58,37,100,58,32,40,37,100,41,32,37,115,40,37,115,41,32,45,32,37,115,0,0,111,112,101,110,0,0,0,0,103,101,116,99,119,100,0,0,115,116,97,116,0,0,0,0,102,115,116,97,116,0,0,0,102,116,114,117,110,99,97,116,101,0,0,0,0,0,0,0,102,99,110,116,108,0,0,0,114,101,97,100,0,0,0,0,112,114,101,97,100,0,0,0,112,114,101,97,100,54,52,0,119,114,105,116,101,0,0,0,112,119,114,105,116,101,0,0,112,119,114,105,116,101,54,52,0,0,0,0,0,0,0,0,102,99,104,109,111,100,0,0,102,97,108,108,111,99,97,116,101,0,0,0,0,0,0,0,117,110,108,105,110,107,0,0,111,112,101,110,68,105,114,101,99,116,111,114,121,0,0,0,109,107,100,105,114,0,0,0,114,109,100,105,114,0,0,0,102,99,104,111,119,110,0,0,109,109,97,112,0,0,0,0,109,117,110,109,97,112,0,0,109,114,101,109,97,112,0,0,103,101,116,112,97,103,101,115,105,122,101,0,0,0,0,0,97,116,116,101,109,112,116,32,116,111,32,111,112,101,110,32,34,37,115,34,32,97,115,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,37,100,0,0,0,0,0,0,47,100,101,118,47,110,117,108,108,0,0,0,0,0,0,0,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,48,49,50,51,52,53,54,55,56,57,0,0,37,115,47,101,116,105,108,113,115,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,188,0,0,184,188,0,0,200,188,0,0,0,0,0,0,0,0,0,0,47,118,97,114,47,116,109,112,0,0,0,0,0,0,0,0,47,117,115,114,47,116,109,112,0,0,0,0,0,0,0,0,47,116,109,112,0,0,0,0,83,81,76,73,84,69,95,84,77,80,68,73,82,0,0,0,84,77,80,68,73,82,0,0,102,117,108,108,95,102,115,121,110,99,0,0,0,0,0,0,3,0,0,0,73,0,0,0,17,0,0,0,18,0,0,0,31,0,0,0,53,0,0,0,54,0,0,0,68,0,0,0,69,0,0,0,70,0,0,0,32,0,0,0,68,0,0,0,69,0,0,0,0,0,0,0,15,0,0,0,19,0,0,0,58,0,0,0,19,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,47,100,101,118,47,117,114,97,110,100,111,109,0,0,0,0,47,37,115,0,0,0,0,0,102,115,121,110,99,0,0,0,112,115,111,119,0,0,0,0,3,0,0,0,74,0,0,0,17,0,0,0,18,0,0,0,31,0,0,0,53,0,0,0,54,0,0,0,71,0,0,0,72,0,0,0,73,0,0,0,32,0,0,0,68,0,0,0,69,0,0,0,20,0,0,0,15,0,0,0,19,0,0,0,58,0,0,0,19,0,0,0,16,0,0,0,0,0,0,0,37,115,46,108,111,99,107,0,99,97,110,110,111,116,32,102,115,116,97,116,32,100,98,32,102,105,108,101,32,37,115,0,102,105,108,101,32,117,110,108,105,110,107,101,100,32,119,104,105,108,101,32,111,112,101,110,58,32,37,115,0,0,0,0,109,117,108,116,105,112,108,101,32,108,105,110,107,115,32,116,111,32,102,105,108,101,58,32,37,115,0,0,0,0,0,0,102,105,108,101,32,114,101,110,97,109,101,100,32,119,104,105,108,101,32,111,112,101,110,58,32,37,115,0,0,0,0,0,0,0,0,0,0,0,0,0,37,115,45,115,104,109,0,0,114,101,97,100,111,110,108,121,95,115,104,109,0,0,0,0,37,0,0,0,0,0,0,0,100,10,1,1,0,0,115,0,4,6,0,0,103,0,1,4,30,0,122,0,4,7,0,0,113,0,4,10,0,0,81,0,4,11,0,0,119,0,4,15,0,0,99,0,0,9,0,0,111,8,0,1,0,2,117,10,0,1,0,0,120,16,0,1,16,1,88,16,0,1,0,4,102,0,1,2,0,0,101,0,1,3,30,0,69,0,1,3,14,0,71,0,1,4,14,0,105,10,1,1,0,0,110,0,0,5,0,0,37,0,0,8,0,0,112,16,0,14,0,1,84,0,2,12,0,0,83,0,2,13,0,0,114,10,3,16,0,0,0,0,0,0,0,0,116,104,115,116,110,100,114,100,0,0,0,0,0,0,0,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,48,49,50,51,52,53,54,55,56,57,97,98,99,100,101,102,0,0,0,0,0,0,0,0,45,120,48,0,88,48,0,0,78,97,78,0,0,0,0,0,45,73,110,102,0,0,0,0,43,73,110,102,0,0,0,0,73,110,102,0,0,0,0,0,40,78,85,76,76,41,0,0,68,73,83,65,66,76,69,95,76,70,83,0,0,0,0,0,73,78,84,54,52,95,84,89,80,69,0,0,0,0,0,0,83,89,83,84,69,77,95,77,65,76,76,79,67,0,0,0,84,72,82,69,65,68,83,65,70,69,61,48],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+39192);var tempDoublePtr=Runtime.alignMemory(allocate(12,"i8",ALLOC_STATIC),8);assert(tempDoublePtr%8==0);function copyTempFloat(ptr){HEAP8[tempDoublePtr]=HEAP8[ptr];HEAP8[tempDoublePtr+1]=HEAP8[ptr+1];HEAP8[tempDoublePtr+2]=HEAP8[ptr+2];HEAP8[tempDoublePtr+3]=HEAP8[ptr+3]}function copyTempDouble(ptr){HEAP8[tempDoublePtr]=HEAP8[ptr];HEAP8[tempDoublePtr+1]=HEAP8[ptr+1];HEAP8[tempDoublePtr+2]=HEAP8[ptr+2];HEAP8[tempDoublePtr+3]=HEAP8[ptr+3];HEAP8[tempDoublePtr+4]=HEAP8[ptr+4];HEAP8[tempDoublePtr+5]=HEAP8[ptr+5];HEAP8[tempDoublePtr+6]=HEAP8[ptr+6];HEAP8[tempDoublePtr+7]=HEAP8[ptr+7]}var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can   access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};var ___errno_state=0;function ___setErrNo(value){HEAP32[___errno_state>>2]=value;return value}var PATH={splitPath:(function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)}),normalizeArray:(function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up--;up){parts.unshift("..")}}return parts}),normalize:(function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path}),dirname:(function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir}),basename:(function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)}),extname:(function(path){return PATH.splitPath(path)[3]}),join:(function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))}),join2:(function(l,r){return PATH.normalize(l+"/"+r)}),resolve:(function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter((function(p){return!!p})),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."}),relative:(function(from,to){from=PATH.resolve(from).substr(1);to=PATH.resolve(to).substr(1);function trim(arr){var start=0;for(;start<arr.length;start++){if(arr[start]!=="")break}var end=arr.length-1;for(;end>=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i<length;i++){if(fromParts[i]!==toParts[i]){samePartsLength=i;break}}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++){outputParts.push("..")}outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join("/")})};var TTY={ttys:[],init:(function(){}),shutdown:(function(){}),register:(function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)}),stream_ops:{open:(function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}stream.tty=tty;stream.seekable=false}),close:(function(stream){stream.tty.ops.flush(stream.tty)}),flush:(function(stream){stream.tty.ops.flush(stream.tty)}),read:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=stream.tty.ops.get_char(stream.tty)}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.put_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}for(var i=0;i<length;i++){try{stream.tty.ops.put_char(stream.tty,buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})},default_tty_ops:{get_char:(function(tty){if(!tty.input.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=new Buffer(BUFSIZE);var bytesRead=0;var fd=process.stdin.fd;var usingDevice=false;try{fd=fs.openSync("/dev/stdin","r");usingDevice=true}catch(e){}bytesRead=fs.readSync(fd,buf,0,BUFSIZE,null);if(usingDevice){fs.closeSync(fd)}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()}),put_char:(function(tty,val){if(val===null||val===10){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}})},default_tty1_ops:{put_char:(function(tty,val){if(val===null||val===10){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}})}};var MEMFS={ops_table:null,mount:(function(mount){return MEMFS.createNode(null,"/",16384|511,0)}),createNode:(function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node}),getFileDataAsRegularArray:(function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i<node.usedBytes;++i)arr.push(node.contents[i]);return arr}return node.contents}),getFileDataAsTypedArray:(function(node){if(!node.contents)return new Uint8Array;if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)}),expandFileStorage:(function(node,newCapacity){if(node.contents&&node.contents.subarray&&newCapacity>node.contents.length){node.contents=MEMFS.getFileDataAsRegularArray(node);node.usedBytes=node.contents.length}if(!node.contents||node.contents.subarray){var prevCapacity=node.contents?node.contents.buffer.byteLength:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity<CAPACITY_DOUBLING_MAX?2:1.125)|0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return}if(!node.contents&&newCapacity>0)node.contents=[];while(node.contents.length<newCapacity)node.contents.push(0)}),resizeFileStorage:(function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length<newSize)node.contents.push(0);node.usedBytes=newSize}),node_ops:{getattr:(function(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}}),lookup:(function(parent,name){throw FS.genericErrors[ERRNO_CODES.ENOENT]}),mknod:(function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)}),rename:(function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}}}delete old_node.parent.contents[old_node.name];old_node.name=new_name;new_dir.contents[new_name]=old_node;old_node.parent=new_dir}),unlink:(function(parent,name){delete parent.contents[name]}),rmdir:(function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}delete parent.contents[name]}),readdir:(function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries}),symlink:(function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node}),readlink:(function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return node.link})},stream_ops:{read:(function(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i<size;i++)buffer[offset+i]=contents[position+i]}return size}),write:(function(stream,buffer,offset,length,position,canOwn){if(!length)return 0;var node=stream.node;node.timestamp=Date.now();if(buffer.subarray&&(!node.contents||node.contents.subarray)){if(canOwn){assert(position===0,"canOwn must imply no weird position inside the file");node.contents=buffer.subarray(offset,offset+length);node.usedBytes=length;return length}else if(node.usedBytes===0&&position===0){node.contents=new Uint8Array(buffer.subarray(offset,offset+length));node.usedBytes=length;return length}else if(position+length<=node.usedBytes){node.contents.set(buffer.subarray(offset,offset+length),position);return length}}MEMFS.expandFileStorage(node,position+length);if(node.contents.subarray&&buffer.subarray)node.contents.set(buffer.subarray(offset,offset+length),position);else for(var i=0;i<length;i++){node.contents[position+i]=buffer[offset+i]}node.usedBytes=Math.max(node.usedBytes,position+length);return length}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.usedBytes}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position}),allocate:(function(stream,offset,length){MEMFS.expandFileStorage(stream.node,offset+length);stream.node.usedBytes=Math.max(stream.node.usedBytes,offset+length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}var ptr;var allocated;var contents=stream.node.contents;if(!(flags&2)&&(contents.buffer===buffer||contents.buffer===buffer.buffer)){allocated=false;ptr=contents.byteOffset}else{if(position>0||position+length<stream.node.usedBytes){if(contents.subarray){contents=contents.subarray(position,position+length)}else{contents=Array.prototype.slice.call(contents,position,position+length)}}allocated=true;ptr=_malloc(length);if(!ptr){throw new FS.ErrnoError(ERRNO_CODES.ENOMEM)}buffer.set(contents,ptr)}return{ptr:ptr,allocated:allocated}})}};var IDBFS={dbs:{},indexedDB:(function(){if(typeof indexedDB!=="undefined")return indexedDB;var ret=null;if(typeof window==="object")ret=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;assert(ret,"IDBFS used, but indexedDB not supported");return ret}),DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:(function(mount){return MEMFS.mount.apply(null,arguments)}),syncfs:(function(mount,populate,callback){IDBFS.getLocalSet(mount,(function(err,local){if(err)return callback(err);IDBFS.getRemoteSet(mount,(function(err,remote){if(err)return callback(err);var src=populate?remote:local;var dst=populate?local:remote;IDBFS.reconcile(src,dst,callback)}))}))}),getDB:(function(name,callback){var db=IDBFS.dbs[name];if(db){return callback(null,db)}var req;try{req=IDBFS.indexedDB().open(name,IDBFS.DB_VERSION)}catch(e){return callback(e)}req.onupgradeneeded=(function(e){var db=e.target.result;var transaction=e.target.transaction;var fileStore;if(db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)){fileStore=transaction.objectStore(IDBFS.DB_STORE_NAME)}else{fileStore=db.createObjectStore(IDBFS.DB_STORE_NAME)}if(!fileStore.indexNames.contains("timestamp")){fileStore.createIndex("timestamp","timestamp",{unique:false})}});req.onsuccess=(function(){db=req.result;IDBFS.dbs[name]=db;callback(null,db)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),getLocalSet:(function(mount,callback){var entries={};function isRealDir(p){return p!=="."&&p!==".."}function toAbsolute(root){return(function(p){return PATH.join2(root,p)})}var check=FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));while(check.length){var path=check.pop();var stat;try{stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){check.push.apply(check,FS.readdir(path).filter(isRealDir).map(toAbsolute(path)))}entries[path]={timestamp:stat.mtime}}return callback(null,{type:"local",entries:entries})}),getRemoteSet:(function(mount,callback){var entries={};IDBFS.getDB(mount.mountpoint,(function(err,db){if(err)return callback(err);var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readonly");transaction.onerror=(function(e){callback(this.error);e.preventDefault()});var store=transaction.objectStore(IDBFS.DB_STORE_NAME);var index=store.index("timestamp");index.openKeyCursor().onsuccess=(function(event){var cursor=event.target.result;if(!cursor){return callback(null,{type:"remote",db:db,entries:entries})}entries[cursor.primaryKey]={timestamp:cursor.key};cursor.continue()})}))}),loadLocalEntry:(function(path,callback){var stat,node;try{var lookup=FS.lookupPath(path);node=lookup.node;stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){return callback(null,{timestamp:stat.mtime,mode:stat.mode})}else if(FS.isFile(stat.mode)){node.contents=MEMFS.getFileDataAsTypedArray(node);return callback(null,{timestamp:stat.mtime,mode:stat.mode,contents:node.contents})}else{return callback(new Error("node type not supported"))}}),storeLocalEntry:(function(path,entry,callback){try{if(FS.isDir(entry.mode)){FS.mkdir(path,entry.mode)}else if(FS.isFile(entry.mode)){FS.writeFile(path,entry.contents,{encoding:"binary",canOwn:true})}else{return callback(new Error("node type not supported"))}FS.chmod(path,entry.mode);FS.utime(path,entry.timestamp,entry.timestamp)}catch(e){return callback(e)}callback(null)}),removeLocalEntry:(function(path,callback){try{var lookup=FS.lookupPath(path);var stat=FS.stat(path);if(FS.isDir(stat.mode)){FS.rmdir(path)}else if(FS.isFile(stat.mode)){FS.unlink(path)}}catch(e){return callback(e)}callback(null)}),loadRemoteEntry:(function(store,path,callback){var req=store.get(path);req.onsuccess=(function(event){callback(null,event.target.result)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),storeRemoteEntry:(function(store,path,entry,callback){var req=store.put(entry,path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),removeRemoteEntry:(function(store,path,callback){var req=store.delete(path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),reconcile:(function(src,dst,callback){var total=0;var create=[];Object.keys(src.entries).forEach((function(key){var e=src.entries[key];var e2=dst.entries[key];if(!e2||e.timestamp>e2.timestamp){create.push(key);total++}}));var remove=[];Object.keys(dst.entries).forEach((function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}}));if(!total){return callback(null)}var errored=false;var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=(function(e){done(this.error);e.preventDefault()});create.sort().forEach((function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,(function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)}))}else{IDBFS.loadLocalEntry(path,(function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)}))}}));remove.sort().reverse().forEach((function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}}))})};var NODEFS={isWindows:false,staticInit:(function(){NODEFS.isWindows=!!process.platform.match(/^win/)}),mount:(function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)}),createNode:(function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node}),getMode:(function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&146)>>1}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return stat.mode}),realPath:(function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)}),flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:(function(flags){if(flags in NODEFS.flagsToPermissionStringMap){return NODEFS.flagsToPermissionStringMap[flags]}else{return flags}}),node_ops:{getattr:(function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}}),setattr:(function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),lookup:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)}),mknod:(function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return node}),rename:(function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),unlink:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),rmdir:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readdir:(function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),symlink:(function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readlink:(function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}})},stream_ops:{open:(function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsToPermissionString(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),close:(function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),read:(function(stream,buffer,offset,length,position){if(length===0)return 0;var nbuffer=new Buffer(length);var res;try{res=fs.readSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(res>0){for(var i=0;i<res;i++){buffer[offset+i]=nbuffer[i]}}return res}),write:(function(stream,buffer,offset,length,position){var nbuffer=new Buffer(buffer.subarray(offset,offset+length));var res;try{res=fs.writeSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}return res}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};var _stdin=allocate(1,"i32*",ALLOC_STATIC);var _stdout=allocate(1,"i32*",ALLOC_STATIC);var _stderr=allocate(1,"i32*",ALLOC_STATIC);function _fflush(stream){}var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},handleFSError:(function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)}),lookupPath:(function(path,opts){path=PATH.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}var parts=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),false);var current=FS.root;var current_path="/";for(var i=0;i<parts.length;i++){var islast=i===parts.length-1;if(islast&&opts.parent){break}current=FS.lookupNode(current,parts[i]);current_path=PATH.join2(current_path,parts[i]);if(FS.isMountpoint(current)){if(!islast||islast&&opts.follow_mount){current=current.mounted.root}}if(!islast||opts.follow){var count=0;while(FS.isLink(current.mode)){var link=FS.readlink(current_path);current_path=PATH.resolve(PATH.dirname(current_path),link);var lookup=FS.lookupPath(current_path,{recurse_count:opts.recurse_count});current=lookup.node;if(count++>40){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}}}}return{path:current_path,node:current}}),getPath:(function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}}),hashName:(function(parentid,name){var hash=0;for(var i=0;i<name.length;i++){hash=(hash<<5)-hash+name.charCodeAt(i)|0}return(parentid+hash>>>0)%FS.nameTable.length}),hashAddNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node}),hashRemoveNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}}),lookupNode:(function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)}),createNode:(function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=(function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev});FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:(function(){return(this.mode&readMode)===readMode}),set:(function(val){val?this.mode|=readMode:this.mode&=~readMode})},write:{get:(function(){return(this.mode&writeMode)===writeMode}),set:(function(val){val?this.mode|=writeMode:this.mode&=~writeMode})},isFolder:{get:(function(){return FS.isDir(this.mode)})},isDevice:{get:(function(){return FS.isChrdev(this.mode)})}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node}),destroyNode:(function(node){FS.hashRemoveNode(node)}),isRoot:(function(node){return node===node.parent}),isMountpoint:(function(node){return!!node.mounted}),isFile:(function(mode){return(mode&61440)===32768}),isDir:(function(mode){return(mode&61440)===16384}),isLink:(function(mode){return(mode&61440)===40960}),isChrdev:(function(mode){return(mode&61440)===8192}),isBlkdev:(function(mode){return(mode&61440)===24576}),isFIFO:(function(mode){return(mode&61440)===4096}),isSocket:(function(mode){return(mode&49152)===49152}),flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:(function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags}),flagsToPermissionString:(function(flag){var accmode=flag&2097155;var perms=["r","w","rw"][accmode];if(flag&512){perms+="w"}return perms}),nodePermissions:(function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return ERRNO_CODES.EACCES}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return ERRNO_CODES.EACCES}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return ERRNO_CODES.EACCES}return 0}),mayLookup:(function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return ERRNO_CODES.EACCES;return 0}),mayCreate:(function(dir,name){try{var node=FS.lookupNode(dir,name);return ERRNO_CODES.EEXIST}catch(e){}return FS.nodePermissions(dir,"wx")}),mayDelete:(function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return ERRNO_CODES.ENOTDIR}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return ERRNO_CODES.EBUSY}}else{if(FS.isDir(node.mode)){return ERRNO_CODES.EISDIR}}return 0}),mayOpen:(function(node,flags){if(!node){return ERRNO_CODES.ENOENT}if(FS.isLink(node.mode)){return ERRNO_CODES.ELOOP}else if(FS.isDir(node.mode)){if((flags&2097155)!==0||flags&512){return ERRNO_CODES.EISDIR}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))}),MAX_OPEN_FDS:4096,nextfd:(function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(ERRNO_CODES.EMFILE)}),getStream:(function(fd){return FS.streams[fd]}),createStream:(function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=(function(){});FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:(function(){return this.node}),set:(function(val){this.node=val})},isRead:{get:(function(){return(this.flags&2097155)!==1})},isWrite:{get:(function(){return(this.flags&2097155)!==0})},isAppend:{get:(function(){return this.flags&1024})}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream}),closeStream:(function(fd){FS.streams[fd]=null}),getStreamFromPtr:(function(ptr){return FS.streams[ptr-1]}),getPtrForStream:(function(stream){return stream?stream.fd+1:0}),chrdev_stream_ops:{open:(function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}}),llseek:(function(){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)})},major:(function(dev){return dev>>8}),minor:(function(dev){return dev&255}),makedev:(function(ma,mi){return ma<<8|mi}),registerDevice:(function(dev,ops){FS.devices[dev]={stream_ops:ops}}),getDevice:(function(dev){return FS.devices[dev]}),getMounts:(function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts}),syncfs:(function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}var mounts=FS.getMounts(FS.root.mount);var completed=0;function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=mounts.length){callback(null)}}mounts.forEach((function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)}))}),mount:(function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot}),unmount:(function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach((function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}}));node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);node.mount.mounts.splice(idx,1)}),lookup:(function(parent,name){return parent.node_ops.lookup(parent,name)}),mknod:(function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.mknod(parent,name,mode,dev)}),create:(function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)}),mkdir:(function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)}),mkdev:(function(path,mode,dev){if(typeof dev==="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)}),symlink:(function(oldpath,newpath){if(!PATH.resolve(oldpath)){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var newname=PATH.basename(newpath);var err=FS.mayCreate(parent,newname);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.symlink(parent,newname,oldpath)}),rename:(function(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;try{lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!old_dir||!new_dir)throw new FS.ErrnoError(ERRNO_CODES.ENOENT);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(ERRNO_CODES.EXDEV)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}relative=PATH.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var err=FS.mayDelete(old_dir,old_name,isdir);if(err){throw new FS.ErrnoError(err)}err=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(err){throw new FS.ErrnoError(err)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(new_dir!==old_dir){err=FS.nodePermissions(old_dir,"w");if(err){throw new FS.ErrnoError(err)}}try{if(FS.trackingDelegate["willMovePath"]){FS.trackingDelegate["willMovePath"](old_path,new_path)}}catch(e){console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}try{if(FS.trackingDelegate["onMovePath"])FS.trackingDelegate["onMovePath"](old_path,new_path)}catch(e){console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}}),rmdir:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,true);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}return node.node_ops.readdir(node)}),unlink:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,false);if(err){if(err===ERRNO_CODES.EISDIR)err=ERRNO_CODES.EPERM;throw new FS.ErrnoError(err)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.unlink(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readlink:(function(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!link.node_ops.readlink){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return PATH.resolve(FS.getPath(lookup.node.parent),link.node_ops.readlink(link))}),stat:(function(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!node.node_ops.getattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return node.node_ops.getattr(node)}),lstat:(function(path){return FS.stat(path,true)}),chmod:(function(path,mode,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})}),lchmod:(function(path,mode){FS.chmod(path,mode,true)}),fchmod:(function(fd,mode){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chmod(stream.node,mode)}),chown:(function(path,uid,gid,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{timestamp:Date.now()})}),lchown:(function(path,uid,gid){FS.chown(path,uid,gid,true)}),fchown:(function(fd,uid,gid){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chown(stream.node,uid,gid)}),truncate:(function(path,len){if(len<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.nodePermissions(node,"w");if(err){throw new FS.ErrnoError(err)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})}),ftruncate:(function(fd,len){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}FS.truncate(stream.node,len)}),utime:(function(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})}),open:(function(path,flags,mode,fd_start,fd_end){if(path===""){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}flags=typeof flags==="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode==="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path==="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(ERRNO_CODES.EEXIST)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(FS.isChrdev(node.mode)){flags&=~512}if(!created){var err=FS.mayOpen(node,flags);if(err){throw new FS.ErrnoError(err)}}if(flags&512){FS.truncate(node,0)}flags&=~(128|512);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false},fd_start,fd_end);if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1;Module["printErr"]("read file: "+path)}}try{if(FS.trackingDelegate["onOpenFile"]){var trackingFlags=0;if((flags&2097155)!==1){trackingFlags|=FS.tracking.openFlags.READ}if((flags&2097155)!==0){trackingFlags|=FS.tracking.openFlags.WRITE}FS.trackingDelegate["onOpenFile"](path,trackingFlags)}}catch(e){console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: "+e.message)}return stream}),close:(function(stream){try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}}),llseek:(function(stream,offset,whence){if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position}),read:(function(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.read){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead}),write:(function(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.write){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if(stream.flags&1024){FS.llseek(stream,0,2)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;try{if(stream.path&&FS.trackingDelegate["onWriteToFile"])FS.trackingDelegate["onWriteToFile"](stream.path)}catch(e){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+e.message)}return bytesWritten}),allocate:(function(stream,offset,length){if(offset<0||length<=0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}stream.stream_ops.allocate(stream,offset,length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EACCES)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}return stream.stream_ops.mmap(stream,buffer,offset,length,position,prot,flags)}),ioctl:(function(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(ERRNO_CODES.ENOTTY)}return stream.stream_ops.ioctl(stream,cmd,arg)}),readFile:(function(path,opts){opts=opts||{};opts.flags=opts.flags||"r";opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret}),writeFile:(function(path,data,opts){opts=opts||{};opts.flags=opts.flags||"w";opts.encoding=opts.encoding||"utf8";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var stream=FS.open(path,opts.flags,opts.mode);if(opts.encoding==="utf8"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,0,opts.canOwn)}else if(opts.encoding==="binary"){FS.write(stream,data,0,data.length,0,opts.canOwn)}FS.close(stream)}),cwd:(function(){return FS.currentPath}),chdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}var err=FS.nodePermissions(lookup.node,"x");if(err){throw new FS.ErrnoError(err)}FS.currentPath=lookup.path}),createDefaultDirectories:(function(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")}),createDefaultDevices:(function(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:(function(){return 0}),write:(function(){return 0})});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device;if(typeof crypto!=="undefined"){var randomBuffer=new Uint8Array(1);random_device=(function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]})}else if(ENVIRONMENT_IS_NODE){random_device=(function(){return require("crypto").randomBytes(1)[0]})}else{random_device=(function(){return Math.random()*256|0})}FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")}),createStandardStreams:(function(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin","r");HEAP32[_stdin>>2]=FS.getPtrForStream(stdin);assert(stdin.fd===0,"invalid handle for stdin ("+stdin.fd+")");var stdout=FS.open("/dev/stdout","w");HEAP32[_stdout>>2]=FS.getPtrForStream(stdout);assert(stdout.fd===1,"invalid handle for stdout ("+stdout.fd+")");var stderr=FS.open("/dev/stderr","w");HEAP32[_stderr>>2]=FS.getPtrForStream(stderr);assert(stderr.fd===2,"invalid handle for stderr ("+stderr.fd+")")}),ensureErrnoError:(function(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=(function(errno){this.errno=errno;for(var key in ERRNO_CODES){if(ERRNO_CODES[key]===errno){this.code=key;break}}});this.setErrno(errno);this.message=ERRNO_MESSAGES[errno];if(this.stack)this.stack=demangleAll(this.stack)};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[ERRNO_CODES.ENOENT].forEach((function(code){FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack="<generic error, no stack>"}))}),staticInit:(function(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices()}),init:(function(input,output,error){assert(!FS.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)");FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()}),quit:(function(){FS.init.initialized=false;for(var i=0;i<FS.streams.length;i++){var stream=FS.streams[i];if(!stream){continue}FS.close(stream)}}),getMode:(function(canRead,canWrite){var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode}),joinPath:(function(parts,forceRelative){var path=PATH.join.apply(null,parts);if(forceRelative&&path[0]=="/")path=path.substr(1);return path}),absolutePath:(function(relative,base){return PATH.resolve(base,relative)}),standardizePath:(function(path){return PATH.normalize(path)}),findObject:(function(path,dontResolveLastLink){var ret=FS.analyzePath(path,dontResolveLastLink);if(ret.exists){return ret.object}else{___setErrNo(ret.error);return null}}),analyzePath:(function(path,dontResolveLastLink){try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret}),createFolder:(function(parent,name,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.mkdir(path,mode)}),createPath:(function(parent,path,canRead,canWrite){parent=typeof parent==="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current}),createFile:(function(parent,name,properties,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.create(path,mode)}),createDataFile:(function(parent,name,data,canRead,canWrite,canOwn){var path=name?PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name):parent;var mode=FS.getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data==="string"){var arr=new Array(data.length);for(var i=0,len=data.length;i<len;++i)arr[i]=data.charCodeAt(i);data=arr}FS.chmod(node,mode|146);var stream=FS.open(node,"w");FS.write(stream,data,0,data.length,0,canOwn);FS.close(stream);FS.chmod(node,mode)}return node}),createDevice:(function(parent,name,input,output){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:(function(stream){stream.seekable=false}),close:(function(stream){if(output&&output.buffer&&output.buffer.length){output(10)}}),read:(function(stream,buffer,offset,length,pos){var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=input()}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){for(var i=0;i<length;i++){try{output(buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})});return FS.mkdev(path,mode,dev)}),createLink:(function(parent,name,target,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);return FS.symlink(target,path)}),forceLoadFile:(function(obj){if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;var success=true;if(typeof XMLHttpRequest!=="undefined"){throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")}else if(Module["read"]){try{obj.contents=intArrayFromString(Module["read"](obj.url),true);obj.usedBytes=obj.contents.length}catch(e){success=false}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}if(!success)___setErrNo(ERRNO_CODES.EIO);return success}),createLazyFile:(function(parent,name,url,canRead,canWrite){function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}});var lazyArray=this;lazyArray.setDataGetter((function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]}));this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperty(lazyArray,"length",{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._length})});Object.defineProperty(lazyArray,"chunkSize",{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize})});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperty(node,"usedBytes",{get:(function(){return this.contents.length})});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach((function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}return fn.apply(null,arguments)}}));stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i<size;i++){buffer[offset+i]=contents[position+i]}}else{for(var i=0;i<size;i++){buffer[offset+i]=contents.get(position+i)}}return size};node.stream_ops=stream_ops;return node}),createPreloadedFile:(function(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn){Browser.init();var fullname=name?PATH.resolve(PATH.join2(parent,name)):parent;function processData(byteArray){function finish(byteArray){if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency("cp "+fullname)}var handled=false;Module["preloadPlugins"].forEach((function(plugin){if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,(function(){if(onerror)onerror();removeRunDependency("cp "+fullname)}));handled=true}}));if(!handled)finish(byteArray)}addRunDependency("cp "+fullname);if(typeof url=="string"){Browser.asyncLoad(url,(function(byteArray){processData(byteArray)}),onerror)}else{processData(url)}}),indexedDB:(function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB}),DB_NAME:(function(){return"EM_FS_"+window.location.pathname}),DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=function openRequest_onupgradeneeded(){console.log("creating db");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)};openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],"readwrite");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=function putRequest_onsuccess(){ok++;if(ok+fail==total)finish()};putRequest.onerror=function putRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror}),loadFilesFromDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],"readonly")}catch(e){onerror(e);return}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var getRequest=files.get(path);getRequest.onsuccess=function getRequest_onsuccess(){if(FS.analyzePath(path).exists){FS.unlink(path)}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish()};getRequest.onerror=function getRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror})};function _lseek(fildes,offset,whence){var stream=FS.getStream(fildes);if(!stream){___setErrNo(ERRNO_CODES.EBADF);return-1}try{return FS.llseek(stream,offset,whence)}catch(e){FS.handleFSError(e);return-1}}Module["_i64Subtract"]=_i64Subtract;var _DtoILow=true;function ___assert_fail(condition,filename,line,func){ABORT=true;throw"Assertion failed: "+Pointer_stringify(condition)+", at: "+[filename?Pointer_stringify(filename):"unknown filename",line,func?Pointer_stringify(func):"unknown function"]+" at "+stackTrace()}Module["_bitshift64Ashr"]=_bitshift64Ashr;var DLFCN={error:null,errorMsg:null,loadedLibs:{},loadedLibNames:{}};function _dlsym(handle,symbol){symbol="_"+Pointer_stringify(symbol);if(!DLFCN.loadedLibs[handle]){DLFCN.errorMsg="Tried to dlsym() from an unopened handle: "+handle;return 0}else{var lib=DLFCN.loadedLibs[handle];if(lib.cached_functions.hasOwnProperty(symbol)){return lib.cached_functions[symbol]}else{if(!lib.module.hasOwnProperty(symbol)){DLFCN.errorMsg='Tried to lookup unknown symbol "'+symbol+'" in dynamic lib: '+lib.name;return 0}else{var result=lib.module[symbol];if(typeof result=="function"){result=lib.module.SYMBOL_TABLE[symbol];assert(result);lib.cached_functions=result}return result}}}}Module["_memset"]=_memset;var _BDtoILow=true;Module["_strlen"]=_strlen;Module["_strcat"]=_strcat;function _strerror_r(errnum,strerrbuf,buflen){if(errnum in ERRNO_MESSAGES){if(ERRNO_MESSAGES[errnum].length>buflen-1){return ___setErrNo(ERRNO_CODES.ERANGE)}else{var msg=ERRNO_MESSAGES[errnum];writeAsciiToMemory(msg,strerrbuf);return 0}}else{return ___setErrNo(ERRNO_CODES.EINVAL)}}function _strerror(errnum){if(!_strerror.buffer)_strerror.buffer=_malloc(256);_strerror_r(errnum,_strerror.buffer,256);return _strerror.buffer}var _DtoIHigh=true;Module["_bitshift64Shl"]=_bitshift64Shl;function _abort(){Module["abort"]()}function _usleep(useconds){var msec=useconds/1e3;if((ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&self["performance"]&&self["performance"]["now"]){var start=self["performance"]["now"]();while(self["performance"]["now"]()-start<msec){}}else{var start=Date.now();while(Date.now()-start<msec){}}return 0}function _sleep(seconds){return _usleep(seconds*1e6)}function _close(fildes){var stream=FS.getStream(fildes);if(!stream){___setErrNo(ERRNO_CODES.EBADF);return-1}try{FS.close(stream);return 0}catch(e){FS.handleFSError(e);return-1}}function _access(path,amode){path=Pointer_stringify(path);if(amode&~7){___setErrNo(ERRNO_CODES.EINVAL);return-1}var node;try{var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}catch(e){FS.handleFSError(e);return-1}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){___setErrNo(ERRNO_CODES.EACCES);return-1}return 0}function _unlink(path){path=Pointer_stringify(path);try{FS.unlink(path);return 0}catch(e){FS.handleFSError(e);return-1}}Module["_i64Add"]=_i64Add;function _open(path,oflag,varargs){var mode=HEAP32[varargs>>2];path=Pointer_stringify(path);try{var stream=FS.open(path,oflag,mode);return stream.fd}catch(e){FS.handleFSError(e);return-1}}function _getuid(){return 0}function _geteuid(){return _getuid.apply(null,arguments)}function _mknod(path,mode,dev){path=Pointer_stringify(path);switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:___setErrNo(ERRNO_CODES.EINVAL);return-1}try{FS.mknod(path,mode,dev);return 0}catch(e){FS.handleFSError(e);return-1}}function _mkdir(path,mode){path=Pointer_stringify(path);path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);try{FS.mkdir(path,mode,0);return 0}catch(e){FS.handleFSError(e);return-1}}function _mkport(){throw"TODO"}var SOCKFS={mount:(function(mount){Module["websocket"]=Module["websocket"]&&"object"===typeof Module["websocket"]?Module["websocket"]:{};Module["websocket"]._callbacks={};Module["websocket"]["on"]=(function(event,callback){if("function"===typeof callback){this._callbacks[event]=callback}return this});Module["websocket"].emit=(function(event,param){if("function"===typeof this._callbacks[event]){this._callbacks[event].call(this,param)}});return FS.createNode(null,"/",16384|511,0)}),createSocket:(function(family,type,protocol){var streaming=type==1;if(protocol){assert(streaming==(protocol==6))}var sock={family:family,type:type,protocol:protocol,server:null,error:null,peers:{},pending:[],recv_queue:[],sock_ops:SOCKFS.websocket_sock_ops};var name=SOCKFS.nextname();var node=FS.createNode(SOCKFS.root,name,49152,0);node.sock=sock;var stream=FS.createStream({path:name,node:node,flags:FS.modeStringToFlags("r+"),seekable:false,stream_ops:SOCKFS.stream_ops});sock.stream=stream;return sock}),getSocket:(function(fd){var stream=FS.getStream(fd);if(!stream||!FS.isSocket(stream.node.mode)){return null}return stream.node.sock}),stream_ops:{poll:(function(stream){var sock=stream.node.sock;return sock.sock_ops.poll(sock)}),ioctl:(function(stream,request,varargs){var sock=stream.node.sock;return sock.sock_ops.ioctl(sock,request,varargs)}),read:(function(stream,buffer,offset,length,position){var sock=stream.node.sock;var msg=sock.sock_ops.recvmsg(sock,length);if(!msg){return 0}buffer.set(msg.buffer,offset);return msg.buffer.length}),write:(function(stream,buffer,offset,length,position){var sock=stream.node.sock;return sock.sock_ops.sendmsg(sock,buffer,offset,length)}),close:(function(stream){var sock=stream.node.sock;sock.sock_ops.close(sock)})},nextname:(function(){if(!SOCKFS.nextname.current){SOCKFS.nextname.current=0}return"socket["+SOCKFS.nextname.current++ +"]"}),websocket_sock_ops:{createPeer:(function(sock,addr,port){var ws;if(typeof addr==="object"){ws=addr;addr=null;port=null}if(ws){if(ws._socket){addr=ws._socket.remoteAddress;port=ws._socket.remotePort}else{var result=/ws[s]?:\/\/([^:]+):(\d+)/.exec(ws.url);if(!result){throw new Error("WebSocket URL must be in the format ws(s)://address:port")}addr=result[1];port=parseInt(result[2],10)}}else{try{var runtimeConfig=Module["websocket"]&&"object"===typeof Module["websocket"];var url="ws:#".replace("#","//");if(runtimeConfig){if("string"===typeof Module["websocket"]["url"]){url=Module["websocket"]["url"]}}if(url==="ws://"||url==="wss://"){var parts=addr.split("/");url=url+parts[0]+":"+port+"/"+parts.slice(1).join("/")}var subProtocols="binary";if(runtimeConfig){if("string"===typeof Module["websocket"]["subprotocol"]){subProtocols=Module["websocket"]["subprotocol"]}}subProtocols=subProtocols.replace(/^ +| +$/g,"").split(/ *, */);var opts=ENVIRONMENT_IS_NODE?{"protocol":subProtocols.toString()}:subProtocols;var WebSocket=ENVIRONMENT_IS_NODE?require("ws"):window["WebSocket"];ws=new WebSocket(url,opts);ws.binaryType="arraybuffer"}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EHOSTUNREACH)}}var peer={addr:addr,port:port,socket:ws,dgram_send_queue:[]};SOCKFS.websocket_sock_ops.addPeer(sock,peer);SOCKFS.websocket_sock_ops.handlePeerEvents(sock,peer);if(sock.type===2&&typeof sock.sport!=="undefined"){peer.dgram_send_queue.push(new Uint8Array([255,255,255,255,"p".charCodeAt(0),"o".charCodeAt(0),"r".charCodeAt(0),"t".charCodeAt(0),(sock.sport&65280)>>8,sock.sport&255]))}return peer}),getPeer:(function(sock,addr,port){return sock.peers[addr+":"+port]}),addPeer:(function(sock,peer){sock.peers[peer.addr+":"+peer.port]=peer}),removePeer:(function(sock,peer){delete sock.peers[peer.addr+":"+peer.port]}),handlePeerEvents:(function(sock,peer){var first=true;var handleOpen=(function(){Module["websocket"].emit("open",sock.stream.fd);try{var queued=peer.dgram_send_queue.shift();while(queued){peer.socket.send(queued);queued=peer.dgram_send_queue.shift()}}catch(e){peer.socket.close()}});function handleMessage(data){assert(typeof data!=="string"&&data.byteLength!==undefined);data=new Uint8Array(data);var wasfirst=first;first=false;if(wasfirst&&data.length===10&&data[0]===255&&data[1]===255&&data[2]===255&&data[3]===255&&data[4]==="p".charCodeAt(0)&&data[5]==="o".charCodeAt(0)&&data[6]==="r".charCodeAt(0)&&data[7]==="t".charCodeAt(0)){var newport=data[8]<<8|data[9];SOCKFS.websocket_sock_ops.removePeer(sock,peer);peer.port=newport;SOCKFS.websocket_sock_ops.addPeer(sock,peer);return}sock.recv_queue.push({addr:peer.addr,port:peer.port,data:data});Module["websocket"].emit("message",sock.stream.fd)}if(ENVIRONMENT_IS_NODE){peer.socket.on("open",handleOpen);peer.socket.on("message",(function(data,flags){if(!flags.binary){return}handleMessage((new Uint8Array(data)).buffer)}));peer.socket.on("close",(function(){Module["websocket"].emit("close",sock.stream.fd)}));peer.socket.on("error",(function(error){sock.error=ERRNO_CODES.ECONNREFUSED;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])}))}else{peer.socket.onopen=handleOpen;peer.socket.onclose=(function(){Module["websocket"].emit("close",sock.stream.fd)});peer.socket.onmessage=function peer_socket_onmessage(event){handleMessage(event.data)};peer.socket.onerror=(function(error){sock.error=ERRNO_CODES.ECONNREFUSED;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])})}}),poll:(function(sock){if(sock.type===1&&sock.server){return sock.pending.length?64|1:0}var mask=0;var dest=sock.type===1?SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport):null;if(sock.recv_queue.length||!dest||dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=64|1}if(!dest||dest&&dest.socket.readyState===dest.socket.OPEN){mask|=4}if(dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=16}return mask}),ioctl:(function(sock,request,arg){switch(request){case 21531:var bytes=0;if(sock.recv_queue.length){bytes=sock.recv_queue[0].data.length}HEAP32[arg>>2]=bytes;return 0;default:return ERRNO_CODES.EINVAL}}),close:(function(sock){if(sock.server){try{sock.server.close()}catch(e){}sock.server=null}var peers=Object.keys(sock.peers);for(var i=0;i<peers.length;i++){var peer=sock.peers[peers[i]];try{peer.socket.close()}catch(e){}SOCKFS.websocket_sock_ops.removePeer(sock,peer)}return 0}),bind:(function(sock,addr,port){if(typeof sock.saddr!=="undefined"||typeof sock.sport!=="undefined"){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}sock.saddr=addr;sock.sport=port||_mkport();if(sock.type===2){if(sock.server){sock.server.close();sock.server=null}try{sock.sock_ops.listen(sock,0)}catch(e){if(!(e instanceof FS.ErrnoError))throw e;if(e.errno!==ERRNO_CODES.EOPNOTSUPP)throw e}}}),connect:(function(sock,addr,port){if(sock.server){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}if(typeof sock.daddr!=="undefined"&&typeof sock.dport!=="undefined"){var dest=SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport);if(dest){if(dest.socket.readyState===dest.socket.CONNECTING){throw new FS.ErrnoError(ERRNO_CODES.EALREADY)}else{throw new FS.ErrnoError(ERRNO_CODES.EISCONN)}}}var peer=SOCKFS.websocket_sock_ops.createPeer(sock,addr,port);sock.daddr=peer.addr;sock.dport=peer.port;throw new FS.ErrnoError(ERRNO_CODES.EINPROGRESS)}),listen:(function(sock,backlog){if(!ENVIRONMENT_IS_NODE){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}if(sock.server){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var WebSocketServer=require("ws").Server;var host=sock.saddr;sock.server=new WebSocketServer({host:host,port:sock.sport});Module["websocket"].emit("listen",sock.stream.fd);sock.server.on("connection",(function(ws){if(sock.type===1){var newsock=SOCKFS.createSocket(sock.family,sock.type,sock.protocol);var peer=SOCKFS.websocket_sock_ops.createPeer(newsock,ws);newsock.daddr=peer.addr;newsock.dport=peer.port;sock.pending.push(newsock);Module["websocket"].emit("connection",newsock.stream.fd)}else{SOCKFS.websocket_sock_ops.createPeer(sock,ws);Module["websocket"].emit("connection",sock.stream.fd)}}));sock.server.on("closed",(function(){Module["websocket"].emit("close",sock.stream.fd);sock.server=null}));sock.server.on("error",(function(error){sock.error=ERRNO_CODES.EHOSTUNREACH;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"EHOSTUNREACH: Host is unreachable"])}))}),accept:(function(listensock){if(!listensock.server){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var newsock=listensock.pending.shift();newsock.stream.flags=listensock.stream.flags;return newsock}),getname:(function(sock,peer){var addr,port;if(peer){if(sock.daddr===undefined||sock.dport===undefined){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}addr=sock.daddr;port=sock.dport}else{addr=sock.saddr||0;port=sock.sport||0}return{addr:addr,port:port}}),sendmsg:(function(sock,buffer,offset,length,addr,port){if(sock.type===2){if(addr===undefined||port===undefined){addr=sock.daddr;port=sock.dport}if(addr===undefined||port===undefined){throw new FS.ErrnoError(ERRNO_CODES.EDESTADDRREQ)}}else{addr=sock.daddr;port=sock.dport}var dest=SOCKFS.websocket_sock_ops.getPeer(sock,addr,port);if(sock.type===1){if(!dest||dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}else if(dest.socket.readyState===dest.socket.CONNECTING){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}var data;if(buffer instanceof Array||buffer instanceof ArrayBuffer){data=buffer.slice(offset,offset+length)}else{data=buffer.buffer.slice(buffer.byteOffset+offset,buffer.byteOffset+offset+length)}if(sock.type===2){if(!dest||dest.socket.readyState!==dest.socket.OPEN){if(!dest||dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){dest=SOCKFS.websocket_sock_ops.createPeer(sock,addr,port)}dest.dgram_send_queue.push(data);return length}}try{dest.socket.send(data);return length}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),recvmsg:(function(sock,length){if(sock.type===1&&sock.server){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}var queued=sock.recv_queue.shift();if(!queued){if(sock.type===1){var dest=SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport);if(!dest){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}else if(dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){return null}else{throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}else{throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}var queuedLength=queued.data.byteLength||queued.data.length;var queuedOffset=queued.data.byteOffset||0;var queuedBuffer=queued.data.buffer||queued.data;var bytesRead=Math.min(length,queuedLength);var res={buffer:new Uint8Array(queuedBuffer,queuedOffset,bytesRead),addr:queued.addr,port:queued.port};if(sock.type===1&&bytesRead<queuedLength){var bytesRemaining=queuedLength-bytesRead;queued.data=new Uint8Array(queuedBuffer,queuedOffset+bytesRead,bytesRemaining);sock.recv_queue.unshift(queued)}return res})}};function _send(fd,buf,len,flags){var sock=SOCKFS.getSocket(fd);if(!sock){___setErrNo(ERRNO_CODES.EBADF);return-1}return _write(fd,buf,len)}function _pwrite(fildes,buf,nbyte,offset){var stream=FS.getStream(fildes);if(!stream){___setErrNo(ERRNO_CODES.EBADF);return-1}try{var slab=HEAP8;return FS.write(stream,slab,buf,nbyte,offset)}catch(e){FS.handleFSError(e);return-1}}function _write(fildes,buf,nbyte){var stream=FS.getStream(fildes);if(!stream){___setErrNo(ERRNO_CODES.EBADF);return-1}try{var slab=HEAP8;return FS.write(stream,slab,buf,nbyte)}catch(e){FS.handleFSError(e);return-1}}var _SItoD=true;function _chmod(path,mode,dontResolveLastLink){path=typeof path!=="string"?Pointer_stringify(path):path;try{FS.chmod(path,mode);return 0}catch(e){FS.handleFSError(e);return-1}}function _fchmod(fildes,mode){try{FS.fchmod(fildes,mode);return 0}catch(e){FS.handleFSError(e);return-1}}function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){console.error("emscripten_set_main_loop_timing: Cannot set timing mode for main loop since a main loop does not exist! Call emscripten_set_main_loop first to set one up.");return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler(){setTimeout(Browser.mainLoop.runner,value)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}return 0}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){Module["noExitRuntime"]=true;assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=func;Browser.mainLoop.arg=arg;var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();setTimeout(Browser.mainLoop.runner,0);return}if(thisMainLoopId<Browser.mainLoop.currentlyRunningMainloop)return;Browser.mainLoop.currentFrameNumber=Browser.mainLoop.currentFrameNumber+1|0;if(Browser.mainLoop.timingMode==1&&Browser.mainLoop.timingValue>1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}if(Browser.mainLoop.method==="timeout"&&Module.ctx){Module.printErr("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!");Browser.mainLoop.method=""}Browser.mainLoop.runIter((function(){if(typeof arg!=="undefined"){Runtime.dynCall("vi",func,[arg])}else{Runtime.dynCall("v",func)}}));if(thisMainLoopId<Browser.mainLoop.currentlyRunningMainloop)return;if(typeof SDL==="object"&&SDL.audio&&SDL.audio.queueNewAudioData)SDL.audio.queueNewAudioData();Browser.mainLoop.scheduler()};if(!noSetTiming){if(fps&&fps>0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"SimulateInfiniteLoop"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:(function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++}),resume:(function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;_emscripten_set_main_loop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()}),updateStatus:(function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining<expected){Module["setStatus"](message+" ("+(expected-remaining)+"/"+expected+")")}else{Module["setStatus"](message)}}else{Module["setStatus"]("")}}}),runIter:(function(func){if(ABORT)return;if(Module["preMainLoop"]){var preRet=Module["preMainLoop"]();if(preRet===false){return}}try{func()}catch(e){if(e instanceof ExitStatus){return}else{if(e&&typeof e==="object"&&e.stack)Module.printErr("exception thrown: "+[e,e.stack]);throw e}}if(Module["postMainLoop"])Module["postMainLoop"]()})},isFullScreen:false,pointerLock:false,moduleContextCreatedCallbacks:[],workers:[],init:(function(){if(!Module["preloadPlugins"])Module["preloadPlugins"]=[];if(Browser.initted)return;Browser.initted=true;try{new Blob;Browser.hasBlobConstructor=true}catch(e){Browser.hasBlobConstructor=false;console.log("warning: no blob constructor, cannot create blobs with mimetypes")}Browser.BlobBuilder=typeof MozBlobBuilder!="undefined"?MozBlobBuilder:typeof WebKitBlobBuilder!="undefined"?WebKitBlobBuilder:!Browser.hasBlobConstructor?console.log("warning: no BlobBuilder"):null;Browser.URLObject=typeof window!="undefined"?window.URL?window.URL:window.webkitURL:undefined;if(!Module.noImageDecoding&&typeof Browser.URLObject==="undefined"){console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available.");Module.noImageDecoding=true}var imagePlugin={};imagePlugin["canHandle"]=function imagePlugin_canHandle(name){return!Module.noImageDecoding&&/\.(jpg|jpeg|png|bmp)$/i.test(name)};imagePlugin["handle"]=function imagePlugin_handle(byteArray,name,onload,onerror){var b=null;if(Browser.hasBlobConstructor){try{b=new Blob([byteArray],{type:Browser.getMimetype(name)});if(b.size!==byteArray.length){b=new Blob([(new Uint8Array(byteArray)).buffer],{type:Browser.getMimetype(name)})}}catch(e){Runtime.warnOnce("Blob constructor present but fails: "+e+"; falling back to blob builder")}}if(!b){var bb=new Browser.BlobBuilder;bb.append((new Uint8Array(byteArray)).buffer);b=bb.getBlob()}var url=Browser.URLObject.createObjectURL(b);assert(typeof url=="string","createObjectURL must return a url as a string");var img=new Image;img.onload=function img_onload(){assert(img.complete,"Image "+name+" could not be decoded");var canvas=document.createElement("canvas");canvas.width=img.width;canvas.height=img.height;var ctx=canvas.getContext("2d");ctx.drawImage(img,0,0);Module["preloadedImages"][name]=canvas;Browser.URLObject.revokeObjectURL(url);if(onload)onload(byteArray)};img.onerror=function img_onerror(event){console.log("Image "+url+" could not be decoded");if(onerror)onerror()};img.src=url};Module["preloadPlugins"].push(imagePlugin);var audioPlugin={};audioPlugin["canHandle"]=function audioPlugin_canHandle(name){return!Module.noAudioDecoding&&name.substr(-4)in{".ogg":1,".wav":1,".mp3":1}};audioPlugin["handle"]=function audioPlugin_handle(byteArray,name,onload,onerror){var done=false;function finish(audio){if(done)return;done=true;Module["preloadedAudios"][name]=audio;if(onload)onload(byteArray)}function fail(){if(done)return;done=true;Module["preloadedAudios"][name]=new Audio;if(onerror)onerror()}if(Browser.hasBlobConstructor){try{var b=new Blob([byteArray],{type:Browser.getMimetype(name)})}catch(e){return fail()}var url=Browser.URLObject.createObjectURL(b);assert(typeof url=="string","createObjectURL must return a url as a string");var audio=new Audio;audio.addEventListener("canplaythrough",(function(){finish(audio)}),false);audio.onerror=function audio_onerror(event){if(done)return;console.log("warning: browser could not fully decode audio "+name+", trying slower base64 approach");function encode64(data){var BASE="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var PAD="=";var ret="";var leftchar=0;var leftbits=0;for(var i=0;i<data.length;i++){leftchar=leftchar<<8|data[i];leftbits+=8;while(leftbits>=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout((function(){finish(audio)}),1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);var canvas=Module["canvas"];function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===canvas||document["mozPointerLockElement"]===canvas||document["webkitPointerLockElement"]===canvas||document["msPointerLockElement"]===canvas}if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||(function(){});canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||(function(){});canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",(function(ev){if(!Browser.pointerLock&&canvas.requestPointerLock){canvas.requestPointerLock();ev.preventDefault()}}),false)}}}),createContext:(function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}canvas.style.backgroundColor="black"}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach((function(callback){callback()}));Browser.init()}return ctx}),destroyContext:(function(canvas,useWebGL,setInModule){}),fullScreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullScreen:(function(lockPointer,resizeCanvas,vrDevice){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;Browser.vrDevice=vrDevice;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;if(typeof Browser.vrDevice==="undefined")Browser.vrDevice=null;var canvas=Module["canvas"];function fullScreenChange(){Browser.isFullScreen=false;var canvasContainer=canvas.parentNode;if((document["webkitFullScreenElement"]||document["webkitFullscreenElement"]||document["mozFullScreenElement"]||document["mozFullscreenElement"]||document["fullScreenElement"]||document["fullscreenElement"]||document["msFullScreenElement"]||document["msFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.cancelFullScreen=document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["webkitCancelFullScreen"]||document["msExitFullscreen"]||document["exitFullscreen"]||(function(){});canvas.cancelFullScreen=canvas.cancelFullScreen.bind(document);if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullScreen=true;if(Browser.resizeCanvas)Browser.setFullScreenCanvasSize()}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas)Browser.setWindowedCanvasSize()}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullScreen);Browser.updateCanvasDimensions(canvas)}if(!Browser.fullScreenHandlersInstalled){Browser.fullScreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullScreenChange,false);document.addEventListener("mozfullscreenchange",fullScreenChange,false);document.addEventListener("webkitfullscreenchange",fullScreenChange,false);document.addEventListener("MSFullscreenChange",fullScreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullScreen=canvasContainer["requestFullScreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullScreen"]?(function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}):null);if(vrDevice){canvasContainer.requestFullScreen({vrDisplay:vrDevice})}else{canvasContainer.requestFullScreen()}}),nextRAF:0,fakeRequestAnimationFrame:(function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)}),requestAnimationFrame:function requestAnimationFrame(func){if(typeof window==="undefined"){Browser.fakeRequestAnimationFrame(func)}else{if(!window.requestAnimationFrame){window.requestAnimationFrame=window["requestAnimationFrame"]||window["mozRequestAnimationFrame"]||window["webkitRequestAnimationFrame"]||window["msRequestAnimationFrame"]||window["oRequestAnimationFrame"]||Browser.fakeRequestAnimationFrame}window.requestAnimationFrame(func)}},safeCallback:(function(func){return(function(){if(!ABORT)return func.apply(null,arguments)})}),allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:(function(){Browser.allowAsyncCallbacks=false}),resumeAsyncCallbacks:(function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach((function(func){func()}))}}),safeRequestAnimationFrame:(function(func){return Browser.requestAnimationFrame((function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}}))}),safeSetTimeout:(function(func,timeout){Module["noExitRuntime"]=true;return setTimeout((function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}}),timeout)}),safeSetInterval:(function(func,timeout){Module["noExitRuntime"]=true;return setInterval((function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}}),timeout)}),getMimetype:(function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]}),getUserMedia:(function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)}),getMovementX:(function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0}),getMovementY:(function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0}),getMouseWheelDelta:(function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail;break;case"mousewheel":delta=event.wheelDelta;break;case"wheel":delta=event["deltaY"];break;default:throw"unrecognized mouse wheel event: "+event.type}return delta}),mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:(function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;assert(typeof scrollX!=="undefined"&&typeof scrollY!=="undefined","Unable to retrieve scroll position, mouse positions likely broken.");if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){Browser.lastTouches[touch.identifier]=Browser.touches[touch.identifier];Browser.touches[touch.identifier]={x:adjustedX,y:adjustedY}}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}}),xhrLoad:(function(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)}),asyncLoad:(function(url,onload,onerror,noRunDep){Browser.xhrLoad(url,(function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(!noRunDep)removeRunDependency("al "+url)}),(function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}}));if(!noRunDep)addRunDependency("al "+url)}),resizeListeners:[],updateResizeListeners:(function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach((function(listener){listener(canvas.width,canvas.height)}))}),setCanvasSize:(function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()}),windowedWidth:0,windowedHeight:0,setFullScreenCanvasSize:(function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];flags=flags|8388608;HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=flags}Browser.updateResizeListeners()}),setWindowedCanvasSize:(function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];flags=flags&~8388608;HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=flags}Browser.updateResizeListeners()}),updateCanvasDimensions:(function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h<Module["forcedAspectRatio"]){w=Math.round(h*Module["forcedAspectRatio"])}else{h=Math.round(w/Module["forcedAspectRatio"])}}if((document["webkitFullScreenElement"]||document["webkitFullscreenElement"]||document["mozFullScreenElement"]||document["mozFullscreenElement"]||document["fullScreenElement"]||document["fullscreenElement"]||document["msFullScreenElement"]||document["msFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvas.parentNode&&typeof screen!="undefined"){var factor=Math.min(screen.width/w,screen.height/h);w=Math.round(w*factor);h=Math.round(h*factor)}if(Browser.resizeCanvas){if(canvas.width!=w)canvas.width=w;if(canvas.height!=h)canvas.height=h;if(typeof canvas.style!="undefined"){canvas.style.removeProperty("width");canvas.style.removeProperty("height")}}else{if(canvas.width!=wNative)canvas.width=wNative;if(canvas.height!=hNative)canvas.height=hNative;if(typeof canvas.style!="undefined"){if(w!=wNative||h!=hNative){canvas.style.setProperty("width",w+"px","important");canvas.style.setProperty("height",h+"px","important")}else{canvas.style.removeProperty("width");canvas.style.removeProperty("height")}}}}),wgetRequests:{},nextWgetRequestHandle:0,getNextWgetRequestHandle:(function(){var handle=Browser.nextWgetRequestHandle;Browser.nextWgetRequestHandle++;return handle})};function _rmdir(path){path=Pointer_stringify(path);try{FS.rmdir(path);return 0}catch(e){FS.handleFSError(e);return-1}}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}function _munmap(start,num){if(!_mmap.mappings)_mmap.mappings={};var info=_mmap.mappings[start];if(!info)return 0;if(num==info.num){_mmap.mappings[start]=null;if(info.allocated){_free(info.malloc)}}return 0}function _stat(path,buf,dontResolveLastLink){path=typeof path!=="string"?Pointer_stringify(path):path;try{var stat=dontResolveLastLink?FS.lstat(path):FS.stat(path);HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;HEAP32[buf+36>>2]=stat.size;HEAP32[buf+40>>2]=4096;HEAP32[buf+44>>2]=stat.blocks;HEAP32[buf+48>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+52>>2]=0;HEAP32[buf+56>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ino;return 0}catch(e){if(e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){e.setErrno(ERRNO_CODES.ENOTDIR)}FS.handleFSError(e);return-1}}function _fstat(fildes,buf){var stream=FS.getStream(fildes);if(!stream){___setErrNo(ERRNO_CODES.EBADF);return-1}return _stat(stream.path,buf)}var ___tm_current=allocate(44,"i8",ALLOC_STATIC);var ___tm_timezone=allocate(intArrayFromString("GMT"),"i8",ALLOC_STATIC);var _tzname=allocate(8,"i32*",ALLOC_STATIC);var _daylight=allocate(1,"i32*",ALLOC_STATIC);var _timezone=allocate(1,"i32*",ALLOC_STATIC);function _tzset(){if(_tzset.called)return;_tzset.called=true;HEAP32[_timezone>>2]=-(new Date).getTimezoneOffset()*60;var winter=new Date(2e3,0,1);var summer=new Date(2e3,6,1);HEAP32[_daylight>>2]=Number(winter.getTimezoneOffset()!=summer.getTimezoneOffset());function extractZone(date){var match=date.toTimeString().match(/\(([A-Za-z ]+)\)$/);return match?match[1]:"GMT"}var winterName=extractZone(winter);var summerName=extractZone(summer);var winterNamePtr=allocate(intArrayFromString(winterName),"i8",ALLOC_NORMAL);var summerNamePtr=allocate(intArrayFromString(summerName),"i8",ALLOC_NORMAL);if(summer.getTimezoneOffset()<winter.getTimezoneOffset()){HEAP32[_tzname>>2]=winterNamePtr;HEAP32[_tzname+4>>2]=summerNamePtr}else{HEAP32[_tzname>>2]=summerNamePtr;HEAP32[_tzname+4>>2]=winterNamePtr}}function _localtime_r(time,tmPtr){_tzset();var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var start=new Date(date.getFullYear(),0,1);var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var summerOffset=(new Date(2e3,6,1)).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=date.getTimezoneOffset()==Math.min(winterOffset,summerOffset)|0;HEAP32[tmPtr+32>>2]=dst;var zonePtr=HEAP32[_tzname+(dst?Runtime.QUANTUM_SIZE:0)>>2];HEAP32[tmPtr+40>>2]=zonePtr;return tmPtr}function _localtime(time){return _localtime_r(time,___tm_current)}function _fcntl(fildes,cmd,varargs,dup2){var stream=FS.getStream(fildes);if(!stream){___setErrNo(ERRNO_CODES.EBADF);return-1}switch(cmd){case 0:var arg=HEAP32[varargs>>2];if(arg<0){___setErrNo(ERRNO_CODES.EINVAL);return-1}var newStream;try{newStream=FS.open(stream.path,stream.flags,0,arg)}catch(e){FS.handleFSError(e);return-1}return newStream.fd;case 1:case 2:return 0;case 3:return stream.flags;case 4:var arg=HEAP32[varargs>>2];stream.flags|=arg;return 0;case 12:case 12:var arg=HEAP32[varargs>>2];var offset=0;HEAP16[arg+offset>>1]=2;return 0;case 13:case 14:case 13:case 14:return 0;case 8:case 9:___setErrNo(ERRNO_CODES.EINVAL);return-1;default:___setErrNo(ERRNO_CODES.EINVAL);return-1}return-1}function _sysconf(name){switch(name){case 30:return PAGE_SIZE;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 79:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:{if(typeof navigator==="object")return navigator["hardwareConcurrency"]||1;return 1}}___setErrNo(ERRNO_CODES.EINVAL);return-1}function _recv(fd,buf,len,flags){var sock=SOCKFS.getSocket(fd);if(!sock){___setErrNo(ERRNO_CODES.EBADF);return-1}return _read(fd,buf,len)}function _pread(fildes,buf,nbyte,offset){var stream=FS.getStream(fildes);if(!stream){___setErrNo(ERRNO_CODES.EBADF);return-1}try{var slab=HEAP8;return FS.read(stream,slab,buf,nbyte,offset)}catch(e){FS.handleFSError(e);return-1}}function _read(fildes,buf,nbyte){var stream=FS.getStream(fildes);if(!stream){___setErrNo(ERRNO_CODES.EBADF);return-1}try{var slab=HEAP8;return FS.read(stream,slab,buf,nbyte)}catch(e){FS.handleFSError(e);return-1}}var _BDtoIHigh=true;function _getcwd(buf,size){if(size==0){___setErrNo(ERRNO_CODES.EINVAL);return 0}var cwd=FS.cwd();if(size<cwd.length+1){___setErrNo(ERRNO_CODES.ERANGE);return 0}else{writeAsciiToMemory(cwd,buf);return buf}}var PROCINFO={ppid:1,pid:42,sid:42,pgid:42};function _getpid(){return PROCINFO.pid}var _environ=allocate(1,"i32*",ALLOC_STATIC);var ___environ=_environ;function ___buildEnvironment(env){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]="C";ENV["_"]=Module["thisProgram"];poolPtr=allocate(TOTAL_ENV_SIZE,"i8",ALLOC_STATIC);envPtr=allocate(MAX_ENV_VALUES*4,"i8*",ALLOC_STATIC);HEAP32[envPtr>>2]=poolPtr;HEAP32[_environ>>2]=envPtr}else{envPtr=HEAP32[_environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in env){if(typeof env[key]==="string"){var line=key+"="+env[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i<strings.length;i++){var line=strings[i];writeAsciiToMemory(line,poolPtr);HEAP32[envPtr+i*ptrSize>>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}var ENV={};function _getenv(name){if(name===0)return 0;name=Pointer_stringify(name);if(!ENV.hasOwnProperty(name))return 0;if(_getenv.ret)_free(_getenv.ret);_getenv.ret=allocate(intArrayFromString(ENV[name]),"i8",ALLOC_NORMAL);return _getenv.ret}function _gettimeofday(ptr){var now=Date.now();HEAP32[ptr>>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}function _chown(path,owner,group,dontResolveLastLink){if(typeof path!=="string")path=Pointer_stringify(path);try{FS.chown(path,owner,group);return 0}catch(e){FS.handleFSError(e);return-1}}function _fchown(fildes,owner,group){try{FS.fchown(fildes,owner,group);return 0}catch(e){FS.handleFSError(e);return-1}}function _dlclose(handle){if(!DLFCN.loadedLibs[handle]){DLFCN.errorMsg="Tried to dlclose() unopened handle: "+handle;return 1}else{var lib_record=DLFCN.loadedLibs[handle];if(--lib_record.refcount==0){if(lib_record.module.cleanups){lib_record.module.cleanups.forEach((function(cleanup){cleanup()}))}delete DLFCN.loadedLibNames[lib_record.name];delete DLFCN.loadedLibs[handle]}return 0}}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;function _dlopen(filename,flag){filename=filename===0?"__self__":(ENV["LD_LIBRARY_PATH"]||"/")+Pointer_stringify(filename);abort("need to build with DLOPEN_SUPPORT=1 to get dlopen support in asm.js");if(DLFCN.loadedLibNames[filename]){var handle=DLFCN.loadedLibNames[filename];DLFCN.loadedLibs[handle].refcount++;return handle}if(filename==="__self__"){var handle=-1;var lib_module=Module;var cached_functions=SYMBOL_TABLE}else{var target=FS.findObject(filename);if(!target||target.isFolder||target.isDevice){DLFCN.errorMsg="Could not find dynamic lib: "+filename;return 0}else{FS.forceLoadFile(target);var lib_data=FS.readFile(filename,{encoding:"utf8"})}try{var lib_module=eval(lib_data)(DLFCN.functionTable.length,Module)}catch(e){Module.printErr("Error in loading dynamic library: "+e);DLFCN.errorMsg="Could not evaluate dynamic lib: "+filename;return 0}var handle=1;for(var key in DLFCN.loadedLibs){if(DLFCN.loadedLibs.hasOwnProperty(key))handle++}if(flag&256){for(var ident in lib_module){if(lib_module.hasOwnProperty(ident)){Module[ident]=lib_module[ident]}}}var cached_functions={}}DLFCN.loadedLibs[handle]={refcount:1,name:filename,module:lib_module,cached_functions:cached_functions};DLFCN.loadedLibNames[filename]=handle;return handle}function _fsync(fildes){var stream=FS.getStream(fildes);if(stream){return 0}else{___setErrNo(ERRNO_CODES.EBADF);return-1}}function _sbrk(bytes){var self=_sbrk;if(!self.called){DYNAMICTOP=alignMemoryPage(DYNAMICTOP);self.called=true;assert(Runtime.dynamicAlloc);self.alloc=Runtime.dynamicAlloc;Runtime.dynamicAlloc=(function(){abort("cannot dynamically allocate, sbrk now has control")})}var ret=DYNAMICTOP;if(bytes!=0){var success=self.alloc(bytes);if(!success)return-1>>>0}return ret}Module["_memmove"]=_memmove;function _dlerror(){if(DLFCN.errorMsg===null){return 0}else{if(DLFCN.error)_free(DLFCN.error);var msgArr=intArrayFromString(DLFCN.errorMsg);DLFCN.error=allocate(msgArr,"i8",ALLOC_NORMAL);DLFCN.errorMsg=null;return DLFCN.error}}function ___errno_location(){return ___errno_state}var _BItoD=true;Module["_bitshift64Lshr"]=_bitshift64Lshr;Module["_llvm_bswap_i32"]=_llvm_bswap_i32;function _mmap(start,num,prot,flags,fd,offset){var MAP_PRIVATE=2;var ptr;var allocated=false;if(!_mmap.mappings)_mmap.mappings={};if(fd==-1){ptr=_malloc(num);if(!ptr)return-1;_memset(ptr,0,num);allocated=true}else{var info=FS.getStream(fd);if(!info)return-1;try{var res=FS.mmap(info,HEAPU8,start,num,offset,prot,flags);ptr=res.ptr;allocated=res.allocated}catch(e){FS.handleFSError(e);return-1}}_mmap.mappings[ptr]={malloc:ptr,num:num,allocated:allocated};return ptr}function _truncate(path,length){if(typeof path!=="string")path=Pointer_stringify(path);try{FS.truncate(path,length);return 0}catch(e){FS.handleFSError(e);return-1}}function _ftruncate(fildes,length){try{FS.ftruncate(fildes,length);return 0}catch(e){FS.handleFSError(e);return-1}}function _utimes(path,times){var time;if(times){var offset=8+0;time=HEAP32[times+offset>>2]*1e3;offset=8+4;time+=HEAP32[times+offset>>2]/1e3}else{time=Date.now()}path=Pointer_stringify(path);try{FS.utime(path,time,time);return 0}catch(e){FS.handleFSError(e);return-1}}FS.staticInit();__ATINIT__.unshift({func:(function(){if(!Module["noFSInit"]&&!FS.init.initialized)FS.init()})});__ATMAIN__.push({func:(function(){FS.ignorePermissions=false})});__ATEXIT__.push({func:(function(){FS.quit()})});Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;___errno_state=Runtime.staticAlloc(4);HEAP32[___errno_state>>2]=0;__ATINIT__.unshift({func:(function(){TTY.init()})});__ATEXIT__.push({func:(function(){TTY.shutdown()})});if(ENVIRONMENT_IS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}__ATINIT__.push({func:(function(){SOCKFS.root=FS.mount(SOCKFS,{},null)})});Module["requestFullScreen"]=function Module_requestFullScreen(lockPointer,resizeCanvas,vrDevice){Browser.requestFullScreen(lockPointer,resizeCanvas,vrDevice)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};___buildEnvironment(ENV);STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);staticSealed=true;STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=DYNAMICTOP=Runtime.alignMemory(STACK_MAX);assert(DYNAMIC_BASE<TOTAL_MEMORY,"TOTAL_MEMORY not big enough for stack");var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_DYNAMIC);function nullFunc_iiiiiiii(x){Module["printErr"]("Invalid function pointer called with signature 'iiiiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_iiii(x){Module["printErr"]("Invalid function pointer called with signature 'iiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_viiiiii(x){Module["printErr"]("Invalid function pointer called with signature 'viiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_vi(x){Module["printErr"]("Invalid function pointer called with signature 'vi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_viiiii(x){Module["printErr"]("Invalid function pointer called with signature 'viiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_dii(x){Module["printErr"]("Invalid function pointer called with signature 'dii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_vid(x){Module["printErr"]("Invalid function pointer called with signature 'vid'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_di(x){Module["printErr"]("Invalid function pointer called with signature 'di'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_i(x){Module["printErr"]("Invalid function pointer called with signature 'i'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_iiiiiiiiii(x){Module["printErr"]("Invalid function pointer called with signature 'iiiiiiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_vii(x){Module["printErr"]("Invalid function pointer called with signature 'vii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_iiiiiii(x){Module["printErr"]("Invalid function pointer called with signature 'iiiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_ii(x){Module["printErr"]("Invalid function pointer called with signature 'ii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_viii(x){Module["printErr"]("Invalid function pointer called with signature 'viii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_v(x){Module["printErr"]("Invalid function pointer called with signature 'v'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_iiiiiiiii(x){Module["printErr"]("Invalid function pointer called with signature 'iiiiiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_iiiii(x){Module["printErr"]("Invalid function pointer called with signature 'iiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_viiii(x){Module["printErr"]("Invalid function pointer called with signature 'viiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_iii(x){Module["printErr"]("Invalid function pointer called with signature 'iii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_iiid(x){Module["printErr"]("Invalid function pointer called with signature 'iiid'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_iiiiii(x){Module["printErr"]("Invalid function pointer called with signature 'iiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x)}function invoke_iiiiiiii(index,a1,a2,a3,a4,a5,a6,a7){try{return Module["dynCall_iiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiii(index,a1,a2,a3){try{return Module["dynCall_iiii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6){try{Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vi(index,a1){try{Module["dynCall_vi"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viiiii(index,a1,a2,a3,a4,a5){try{Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_dii(index,a1,a2){try{return Module["dynCall_dii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vid(index,a1,a2){try{Module["dynCall_vid"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_di(index,a1){try{return Module["dynCall_di"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_i(index){try{return Module["dynCall_i"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){try{return Module["dynCall_iiiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vii(index,a1,a2){try{Module["dynCall_vii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){try{return Module["dynCall_iiiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_ii(index,a1){try{return Module["dynCall_ii"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viii(index,a1,a2,a3){try{Module["dynCall_viii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_v(index){try{Module["dynCall_v"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8){try{return Module["dynCall_iiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiii(index,a1,a2,a3,a4){try{return Module["dynCall_iiiii"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viiii(index,a1,a2,a3,a4){try{Module["dynCall_viiii"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iii(index,a1,a2){try{return Module["dynCall_iii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiid(index,a1,a2,a3){try{return Module["dynCall_iiid"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiiii(index,a1,a2,a3,a4,a5){try{return Module["dynCall_iiiiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}Module.asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Uint32Array":Uint32Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,"Infinity":Infinity,"byteLength":byteLength};Module.asmLibraryArg={"abort":abort,"assert":assert,"nullFunc_iiiiiiii":nullFunc_iiiiiiii,"nullFunc_iiii":nullFunc_iiii,"nullFunc_viiiiii":nullFunc_viiiiii,"nullFunc_vi":nullFunc_vi,"nullFunc_viiiii":nullFunc_viiiii,"nullFunc_dii":nullFunc_dii,"nullFunc_vid":nullFunc_vid,"nullFunc_di":nullFunc_di,"nullFunc_i":nullFunc_i,"nullFunc_iiiiiiiiii":nullFunc_iiiiiiiiii,"nullFunc_vii":nullFunc_vii,"nullFunc_iiiiiii":nullFunc_iiiiiii,"nullFunc_ii":nullFunc_ii,"nullFunc_viii":nullFunc_viii,"nullFunc_v":nullFunc_v,"nullFunc_iiiiiiiii":nullFunc_iiiiiiiii,"nullFunc_iiiii":nullFunc_iiiii,"nullFunc_viiii":nullFunc_viiii,"nullFunc_iii":nullFunc_iii,"nullFunc_iiid":nullFunc_iiid,"nullFunc_iiiiii":nullFunc_iiiiii,"invoke_iiiiiiii":invoke_iiiiiiii,"invoke_iiii":invoke_iiii,"invoke_viiiiii":invoke_viiiiii,"invoke_vi":invoke_vi,"invoke_viiiii":invoke_viiiii,"invoke_dii":invoke_dii,"invoke_vid":invoke_vid,"invoke_di":invoke_di,"invoke_i":invoke_i,"invoke_iiiiiiiiii":invoke_iiiiiiiiii,"invoke_vii":invoke_vii,"invoke_iiiiiii":invoke_iiiiiii,"invoke_ii":invoke_ii,"invoke_viii":invoke_viii,"invoke_v":invoke_v,"invoke_iiiiiiiii":invoke_iiiiiiiii,"invoke_iiiii":invoke_iiiii,"invoke_viiii":invoke_viiii,"invoke_iii":invoke_iii,"invoke_iiid":invoke_iiid,"invoke_iiiiii":invoke_iiiiii,"_dlerror":_dlerror,"_utimes":_utimes,"_getuid":_getuid,"_send":_send,"_dlsym":_dlsym,"_mknod":_mknod,"_chown":_chown,"_lseek":_lseek,"_emscripten_set_main_loop_timing":_emscripten_set_main_loop_timing,"_access":_access,"_fstat":_fstat,"_chmod":_chmod,"_rmdir":_rmdir,"___assert_fail":___assert_fail,"_usleep":_usleep,"___buildEnvironment":___buildEnvironment,"_fflush":_fflush,"_pwrite":_pwrite,"_strerror_r":_strerror_r,"_localtime_r":_localtime_r,"_tzset":_tzset,"_open":_open,"_getpid":_getpid,"_sbrk":_sbrk,"_fcntl":_fcntl,"_emscripten_memcpy_big":_emscripten_memcpy_big,"_unlink":_unlink,"_sysconf":_sysconf,"_fchmod":_fchmod,"___setErrNo":___setErrNo,"_ftruncate":_ftruncate,"_mkdir":_mkdir,"_pread":_pread,"_mkport":_mkport,"_dlopen":_dlopen,"_dlclose":_dlclose,"_write":_write,"_fsync":_fsync,"___errno_location":___errno_location,"_stat":_stat,"_recv":_recv,"_geteuid":_geteuid,"_getenv":_getenv,"_sleep":_sleep,"_emscripten_set_main_loop":_emscripten_set_main_loop,"_abort":_abort,"_time":_time,"_fchown":_fchown,"_strerror":_strerror,"_gettimeofday":_gettimeofday,"_munmap":_munmap,"_mmap":_mmap,"_localtime":_localtime,"_getcwd":_getcwd,"_close":_close,"_read":_read,"_truncate":_truncate,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT,"cttz_i8":cttz_i8};// EMSCRIPTEN_START_ASM
var asm=(function(global,env,buffer) {
"use asm";var a=global.Int8Array;var b=global.Int16Array;var c=global.Int32Array;var d=global.Uint8Array;var e=global.Uint16Array;var f=global.Uint32Array;var g=global.Float32Array;var h=global.Float64Array;var i=new a(buffer);var j=new b(buffer);var k=new c(buffer);var l=new d(buffer);var m=new e(buffer);var n=new f(buffer);var o=new g(buffer);var p=new h(buffer);var q=global.byteLength;var r=env.STACKTOP|0;var s=env.STACK_MAX|0;var t=env.tempDoublePtr|0;var u=env.ABORT|0;var v=env.cttz_i8|0;var w=0;var x=0;var y=0;var z=0;var A=global.NaN,B=global.Infinity;var C=0,D=0,E=0,F=0,G=0.0,H=0,I=0,J=0,K=0.0;var L=0;var M=0;var N=0;var O=0;var P=0;var Q=0;var R=0;var S=0;var T=0;var U=0;var V=global.Math.floor;var W=global.Math.abs;var X=global.Math.sqrt;var Y=global.Math.pow;var Z=global.Math.cos;var _=global.Math.sin;var $=global.Math.tan;var aa=global.Math.acos;var ba=global.Math.asin;var ca=global.Math.atan;var da=global.Math.atan2;var ea=global.Math.exp;var fa=global.Math.log;var ga=global.Math.ceil;var ha=global.Math.imul;var ia=global.Math.min;var ja=global.Math.clz32;var ka=env.abort;var la=env.assert;var ma=env.nullFunc_iiiiiiii;var na=env.nullFunc_iiii;var oa=env.nullFunc_viiiiii;var pa=env.nullFunc_vi;var qa=env.nullFunc_viiiii;var ra=env.nullFunc_dii;var sa=env.nullFunc_vid;var ta=env.nullFunc_di;var ua=env.nullFunc_i;var va=env.nullFunc_iiiiiiiiii;var wa=env.nullFunc_vii;var xa=env.nullFunc_iiiiiii;var ya=env.nullFunc_ii;var za=env.nullFunc_viii;var Aa=env.nullFunc_v;var Ba=env.nullFunc_iiiiiiiii;var Ca=env.nullFunc_iiiii;var Da=env.nullFunc_viiii;var Ea=env.nullFunc_iii;var Fa=env.nullFunc_iiid;var Ga=env.nullFunc_iiiiii;var Ha=env.invoke_iiiiiiii;var Ia=env.invoke_iiii;var Ja=env.invoke_viiiiii;var Ka=env.invoke_vi;var La=env.invoke_viiiii;var Ma=env.invoke_dii;var Na=env.invoke_vid;var Oa=env.invoke_di;var Pa=env.invoke_i;var Qa=env.invoke_iiiiiiiiii;var Ra=env.invoke_vii;var Sa=env.invoke_iiiiiii;var Ta=env.invoke_ii;var Ua=env.invoke_viii;var Va=env.invoke_v;var Wa=env.invoke_iiiiiiiii;var Xa=env.invoke_iiiii;var Ya=env.invoke_viiii;var Za=env.invoke_iii;var _a=env.invoke_iiid;var $a=env.invoke_iiiiii;var ab=env._dlerror;var bb=env._utimes;var cb=env._getuid;var db=env._send;var eb=env._dlsym;var fb=env._mknod;var gb=env._chown;var hb=env._lseek;var ib=env._emscripten_set_main_loop_timing;var jb=env._access;var kb=env._fstat;var lb=env._chmod;var mb=env._rmdir;var nb=env.___assert_fail;var ob=env._usleep;var pb=env.___buildEnvironment;var qb=env._fflush;var rb=env._pwrite;var sb=env._strerror_r;var tb=env._localtime_r;var ub=env._tzset;var vb=env._open;var wb=env._getpid;var xb=env._sbrk;var yb=env._fcntl;var zb=env._emscripten_memcpy_big;var Ab=env._unlink;var Bb=env._sysconf;var Cb=env._fchmod;var Db=env.___setErrNo;var Eb=env._ftruncate;var Fb=env._mkdir;var Gb=env._pread;var Hb=env._mkport;var Ib=env._dlopen;var Jb=env._dlclose;var Kb=env._write;var Lb=env._fsync;var Mb=env.___errno_location;var Nb=env._stat;var Ob=env._recv;var Pb=env._geteuid;var Qb=env._getenv;var Rb=env._sleep;var Sb=env._emscripten_set_main_loop;var Tb=env._abort;var Ub=env._time;var Vb=env._fchown;var Wb=env._strerror;var Xb=env._gettimeofday;var Yb=env._munmap;var Zb=env._mmap;var _b=env._localtime;var $b=env._getcwd;var ac=env._close;var bc=env._read;var cc=env._truncate;var dc=0.0;function _emscripten_replace_memory(newBuffer){if(q(newBuffer)&16777215||q(newBuffer)<=16777215||q(newBuffer)>2147483648)return false;i=new a(newBuffer);j=new b(newBuffer);k=new c(newBuffer);l=new d(newBuffer);m=new e(newBuffer);n=new f(newBuffer);o=new g(newBuffer);p=new h(newBuffer);buffer=newBuffer;return true}
// EMSCRIPTEN_START_FUNCS
function mh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,l=0;h=k[a>>2]|0;l=k[a+80>>2]|0;e=a+44|0;do if(!(k[e>>2]|0)){k[h+52>>2]=l;b=k[h+236>>2]|0;if(b){a=b+8|0;if(!(j[a>>1]&9312)){j[a>>1]=1;break}else{Ag(b);break}}}else{f=h+65|0;g=i[f>>0]|0;a=k[3164]|0;if(a)sc[a&3]();d=h+236|0;a=k[d>>2]|0;do if(!a){a=rh(h,40,0)|0;if(!a){k[d>>2]=a;break}else{b=a+0|0;c=b+40|0;do{i[b>>0]=0;b=b+1|0}while((b|0)<(c|0));j[a+8>>1]=1;k[a+32>>2]=h;k[d>>2]=a;c=8;break}}else c=8;while(0);if((c|0)==8)ah(a,k[e>>2]|0,-1,1,-1)|0;a=k[3166]|0;if(a)sc[a&3]();i[f>>0]=g;k[h+52>>2]=l}while(0);return l|0}function nh(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,l=0,m=0;m=r;r=r+16|0;if((r|0)>=(s|0))ka();h=m;k[f>>2]=0;if(!((Mh(a)|0)==0|(b|0)==0)){h=k[a+20>>2]|0;if((h|0)>0){i=k[a+16>>2]|0;l=0;do{j=k[i+(l<<4)+4>>2]|0;if(j)k[(k[j+4>>2]|0)+4>>2]=k[j>>2];l=l+1|0}while((l|0)!=(h|0))}h=Kn(a,b,c,d,e,f,g)|0;if((h|0)==17){rd(k[f>>2]|0)|0;h=Kn(a,b,c,d,e,f,g)|0}}else{k[h>>2]=105892;k[h+4>>2]=10788;gd(21,13648,h);h=21}r=m;return h|0}function oh(a,b){a=a|0;b=b|0;var c=0,d=0;d=a+68|0;if((j[d>>1]|0)>0){c=b+60|0;b=a+60|0;a=0;do{dm((k[c>>2]|0)+(a*40|0)|0,(k[b>>2]|0)+(a*40|0)|0);a=a+1|0}while((a|0)<(j[d>>1]|0))}return}function ph(a,b){a=a|0;b=b|0;var c=0,d=0;if(b){c=b;while(1)if(!(i[c>>0]|0))break;else c=c+1|0;d=(c-b&1073741823)+1|0;c=rh(a,d,0)|0;if(c)pw(c|0,b|0,d|0)|0;else c=0}else c=0;return c|0}function qh(a,b){a=a|0;b=b|0;var c=0,d=0;d=k[a+8>>2]|0;if((b|0)>=1){kh(d,b)|0;j[d+8>>1]=8192;k[d>>2]=k[a+4>>2];c=d+16|0;a=k[c>>2]|0;if(!a)c=0;else{kw(a|0,0,b|0)|0;c=k[c>>2]|0}}else{c=d+8|0;if(!(j[c>>1]&9312))j[c>>1]=1;else Ag(d);k[d+16>>2]=0;c=0}return c|0}function rh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;a:do if(a){f=a+65|0;if(!(i[f>>0]|0)){do if(i[a+250>>0]|0){if(0<c>>>0|(0==(c|0)?(m[a+248>>1]|0)>>>0<b>>>0:0)){d=a+264|0;k[d>>2]=(k[d>>2]|0)+1;break}e=a+272|0;d=k[e>>2]|0;if(!d){d=a+268|0;k[d>>2]=(k[d>>2]|0)+1;break}k[e>>2]=k[d>>2];c=a+252|0;e=k[c>>2]|0;b=e+1|0;k[c>>2]=b;c=a+260|0;k[c>>2]=(k[c>>2]|0)+1;c=a+256|0;if((e|0)>=(k[c>>2]|0))k[c>>2]=b;break a}while(0);d=vg(b,c)|0;if(!d){i[f>>0]=1;d=0}}else d=0}else d=vg(b,c)|0;while(0);return d|0}function sh(a,b){a=a|0;b=b|0;var c=0,d=0;do if(a){c=k[a+20>>2]|0;if((c|0)!=0?((b|0)>-1?(m[a+84>>1]|0|0)>(b|0):0):0){c=c+(b*40|0)|0;break}c=k[a>>2]|0;if((c|0)!=0?(k[c+52>>2]=25,d=k[c+236>>2]|0,(d|0)!=0):0){c=d+8|0;if(!(j[c>>1]&9312)){j[c>>1]=1;c=41496;break}else{Ag(d);c=41496;break}}else c=41496}else c=41496;while(0);return c|0}function th(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0;g=uh(a,b)|0;if(!g)if(!c)g=0;else{b=(k[a+60>>2]|0)+((b+-1|0)*40|0)|0;g=ah(b,c,d,f,e)|0;if((g|0)!=0|f<<24>>24==0)b=g;else b=bm(b,l[(k[a>>2]|0)+62>>0]|0)|0;g=k[a>>2]|0;k[g+52>>2]=b;e=k[g+236>>2]|0;do if(e){d=e+8|0;if(!(j[d>>1]&9312)){j[d>>1]=1;break}else{Ag(e);g=k[a>>2]|0;break}}while(0);g=Tg(g,b)|0}else{d=e;if(!((d|0)==0|(d|0)==-1))hc[e&31](c)}return g|0}function uh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;if((r|0)>=(s|0))ka();e=g;do if(!(fh(a)|0)){if((k[a+40>>2]|0)==-1108210269?(k[a+76>>2]|0)<=-1:0){if((b|0)>=1?(j[a+68>>1]|0)>=(b|0):0){f=b+-1|0;e=k[a+60>>2]|0;d=e+(f*40|0)|0;c=e+(f*40|0)+8|0;if(!((j[c>>1]&9312)==0?(k[e+(f*40|0)+24>>2]|0)==0:0))Vg(d);j[c>>1]=1;d=k[a>>2]|0;k[d+52>>2]=0;d=k[d+236>>2]|0;do if(d){c=d+8|0;if(!(j[c>>1]&9312)){j[c>>1]=1;break}else{Ag(d);break}}while(0);e=a+88|0;c=j[e>>1]|0;if(!(c&256)){c=0;break}d=k[a+188>>2]|0;if((b|0)<33){if(!((d&1<<f|0)!=0|(d|0)==-1)){c=0;break}}else if((d|0)!=-1){c=0;break}j[e>>1]=c|8;c=0;break}c=k[a>>2]|0;k[c+52>>2]=25;c=k[c+236>>2]|0;if(!c){c=25;break}d=c+8|0;if(!(j[d>>1]&9312)){j[d>>1]=1;c=25;break}else{Ag(c);c=25;break}}d=k[a>>2]|0;k[d+52>>2]=21;d=k[d+236>>2]|0;do if(d){c=d+8|0;if(!(j[c>>1]&9312)){j[c>>1]=1;break}else{Ag(d);break}}while(0);k[e>>2]=k[a+168>>2];gd(21,41456,e);k[e>>2]=69987;k[e+4>>2]=10788;gd(21,13648,e);c=21}else{k[e>>2]=69979;k[e+4>>2]=10788;gd(21,13648,e);c=21}while(0);r=g;return c|0}function vh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;a:do if(!((a|0)==0|(b|0)==0)?(f=j[a+70>>1]|0,f<<16>>16>0):0){d=k[a+64>>2]|0;a=0;while(1){e=k[d+(a<<2)>>2]|0;if(((e|0)!=0?(ew(e,b,c)|0)==0:0)?(i[e+c>>0]|0)==0:0)break;a=a+1|0;if((a|0)>=(f<<16>>16|0)){a=0;break a}}a=a+1|0}else a=0;while(0);return a|0}function wh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;if((r|0)>=(s|0))ka();g=h+8|0;f=h;c=i[a+10>>0]|0;d=a+16|0;e=a+12|0;do if(Yl(k[d>>2]|0,g,k[e>>2]|0,c)|0){if(!(Zl(k[d>>2]|0,f,k[e>>2]|0,c)|0)){e=f;d=k[e+4>>2]|0;c=a;k[c>>2]=k[e>>2];k[c+4>>2]=d;c=a+8|0;j[c>>1]=m[c>>1]|0|4;break}p[a>>3]=+p[g>>3];c=a+8|0;j[c>>1]=m[c>>1]|0|8;if(b)im(a)}while(0);r=h;return}function xh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;g=r;r=r+16|0;if((r|0)>=(s|0))ka();f=g;if(!(Ln(a)|0)){e=di(k[a>>2]|0,c,d)|0;if(!e){e=(b|0)!=0?41368:41384;if(!d){k[f>>2]=e;k[f+4>>2]=c;yh(a,27680,f)}else{k[f>>2]=e;k[f+4>>2]=d;k[f+8>>2]=c;yh(a,27664,f)}i[a+17>>0]=1;e=0}}else e=0;r=g;return e|0}function yh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;e=r;r=r+16|0;if((r|0)>=(s|0))ka();f=e;d=k[a>>2]|0;k[f>>2]=c;c=$k(d,b,f)|0;if(!(i[d+68>>0]|0)){b=a+64|0;k[b>>2]=(k[b>>2]|0)+1;b=a+4|0;rg(d,k[b>>2]|0);k[b>>2]=c;k[a+12>>2]=1}else rg(d,c);r=e;return}function zh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=r;r=r+16|0;if((r|0)>=(s|0))ka();e=d;k[e>>2]=c;a=$k(a,b,e)|0;r=d;return a|0}function Ah(a){a=a|0;var b=0,c=0,d=0;c=k[a>>2]|0;b=rh(c,208,0)|0;if(!b)b=0;else{kw(b|0,0,208)|0;k[b>>2]=c;c=c+4|0;d=k[c>>2]|0;if(d)k[d+48>>2]=b;k[b+52>>2]=d;k[b+48>>2]=0;k[c>>2]=b;k[b+40>>2]=649915045;k[b+24>>2]=a}return b|0}function Bh(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;g=a+32|0;f=k[g>>2]|0;if((k[(k[a+24>>2]|0)+84>>2]|0)<=(f|0))if(!(Mn(a)|0)){h=k[g>>2]|0;j=4}else f=1;else{h=f;j=4}if((j|0)==4){k[g>>2]=h+1;g=k[a+4>>2]|0;i[g+(f*20|0)>>0]=b;i[g+(f*20|0)+3>>0]=0;k[g+(f*20|0)+4>>2]=c;k[g+(f*20|0)+8>>2]=d;k[g+(f*20|0)+12>>2]=e;k[g+(f*20|0)+16>>2]=0;i[g+(f*20|0)+1>>0]=0}return f|0}function Ch(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=k[a>>2]|0;e=k[a+4>>2]|0;do if((e|0)!=0?(i[h+65>>0]|0)==0:0){if((b|0)<0)b=(k[a+32>>2]|0)+-1|0;g=e+(b*20|0)+1|0;f=e+(b*20|0)+16|0;Nn(h,i[g>>0]|0,k[f>>2]|0);k[f>>2]=0;if((d|0)==-14){k[f>>2]=c;i[g>>0]=-14;break}if(!c){k[f>>2]=0;i[g>>0]=0;break}if((d|0)==-6){k[f>>2]=c;i[g>>0]=-6;break}else if((d|0)==-10){k[f>>2]=c;i[g>>0]=-10;b=c+12|0;k[b>>2]=(k[b>>2]|0)+1;break}else{if((d|0)<0){k[f>>2]=c;i[g>>0]=d;break}if(!d){b=c;while(1)if(!(i[b>>0]|0))break;else b=b+1|0;e=b-c&1073741823}else e=d;a=k[a>>2]|0;b=ow(e|0,((e|0)<0)<<31>>31|0,1,0)|0;b=rh(a,b,L)|0;if(!b)b=0;else{pw(b|0,c|0,e|0)|0;i[b+e>>0]=0}k[f>>2]=b;i[g>>0]=-1;break}}else j=3;while(0);if((j|0)==3?(d|0)!=-10:0)Nn(h,d,c);return}function Dh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0;j=a+32|0;d=k[j>>2]|0;if((d+b|0)>(k[(k[a+24>>2]|0)+84>>2]|0))if(!(Mn(a)|0)){d=k[j>>2]|0;e=4}else d=0;else e=4;if((e|0)==4)if((b|0)>0){g=a+4|0;h=0;while(1){l=i[c+2>>0]|0;e=l<<24>>24;a=h+d|0;f=k[g>>2]|0;i[f+(a*20|0)>>0]=i[c>>0]|0;k[f+(a*20|0)+4>>2]=i[c+1>>0];if(l<<24>>24<0)e=d+~e|0;k[f+(a*20|0)+8>>2]=e;k[f+(a*20|0)+12>>2]=i[c+3>>0];i[f+(a*20|0)+1>>0]=0;k[f+(a*20|0)+16>>2]=0;i[f+(a*20|0)+3>>0]=0;h=h+1|0;if((h|0)==(b|0))break;else c=c+4|0}k[j>>2]=(k[j>>2]|0)+b}return d|0}function Eh(a,b){a=a|0;b=b|0;var c=0,d=0;c=a+32|0;if((k[c>>2]|0)>(b|0)?(d=k[a+4>>2]|0,Nn(k[a>>2]|0,i[d+(b*20|0)+1>>0]|0,k[d+(b*20|0)+16>>2]|0),a=d+(b*20|0)|0,k[a+0>>2]=0,k[a+4>>2]=0,k[a+8>>2]=0,k[a+12>>2]=0,k[a+16>>2]=0,i[a>>0]=-100,((k[c>>2]|0)+-1|0)==(b|0)):0)k[c>>2]=b;return}function Fh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;K=r;r=r+16|0;if((r|0)>=(s|0))ka();e=K;I=k[a>>2]|0;C=k[b+440>>2]|0;c=k[b+72>>2]|0;B=k[b+68>>2]|0;k[e>>2]=k[b+392>>2];A=k[b+80>>2]|0;A=(A|0)==0?1:A;c=B+c|0;g=k[a+4>>2]|0;f=g+((k[a+32>>2]|0)*20|0)|0;g=g+((k[b+84>>2]|0)*20|0)|0;On(a,e);if(!(i[b+20>>0]|0))d=0;else d=((i[b+21>>0]|0)!=0&1)<<5&65535;J=a+88|0;j[J>>1]=j[J>>1]&-33|d;H=b+450|0;E=(i[H>>0]|0)!=0&(c|0)<10?10:c;c=f;kw(f|0,0,g-c|0)|0;j[J>>1]=j[J>>1]&-9;D=a+8|0;v=E*40|0;w=a+60|0;x=C*40|0;y=a+12|0;h=(k[e>>2]<<2)+7&-8;z=a+64|0;m=(C<<2)+7&-8;n=a+56|0;o=(B<<2)+7&-8;p=a+200|0;q=A+7&-8;t=a+172|0;u=I+65|0;f=f+(c&7)|0;while(1){e=k[D>>2]|0;if(!e){d=f+v|0;c=d>>>0>g>>>0;e=c?0:f;f=c?f:d;c=c?v:0}else c=0;k[D>>2]=e;e=k[w>>2]|0;if(!e){L=f+x|0;d=L>>>0>g>>>0;e=d?0:f;f=d?f:L;c=(d?x:0)+c|0}k[w>>2]=e;e=k[y>>2]|0;if(!e){L=f+h|0;d=L>>>0>g>>>0;e=d?0:f;f=d?f:L;c=(d?h:0)+c|0}k[y>>2]=e;e=k[z>>2]|0;if(!e){L=f+m|0;d=L>>>0>g>>>0;e=d?0:f;f=d?f:L;c=(d?m:0)+c|0}k[z>>2]=e;e=k[n>>2]|0;if(!e){L=f+o|0;d=L>>>0>g>>>0;e=d?0:f;f=d?f:L;c=(d?o:0)+c|0}k[n>>2]=e;e=k[p>>2]|0;if(!e){d=(f+q|0)>>>0>g>>>0;e=d?0:f;c=(d?q:0)+c|0}k[p>>2]=e;if(!c)break;d=rh(I,c,((c|0)<0)<<31>>31)|0;if(!d)e=0;else{kw(d|0,0,c|0)|0;e=d}k[t>>2]=e;if(!(i[u>>0]|0)){f=d;g=d+c|0}else break}k[a+36>>2]=B;k[a+196>>2]=A;d=k[w>>2]|0;if((d|0)!=0?(j[a+68>>1]=C,(C|0)>0):0){c=0;do{j[d+(c*40|0)+8>>1]=1;k[d+(c*40|0)+32>>2]=I;c=c+1|0}while((c|0)!=(C|0))}d=k[z>>2]|0;if((d|0)!=0?(F=b+444|0,G=k[F>>2]|0,(G|0)>0):0){j[a+70>>1]=G;C=b+472|0;pw(d|0,k[C>>2]|0,G<<16>>14|0)|0;kw(k[C>>2]|0,0,k[F>>2]<<2|0)|0}d=k[D>>2]|0;if((d|0)!=0?(k[D>>2]=d+-40,k[a+28>>2]=E,(E|0)>=1):0){c=1;while(1){j[d+((c+-1|0)*40|0)+8>>1]=128;k[d+((c+-1|0)*40|0)+32>>2]=I;if((c|0)==(E|0))break;else c=c+1|0}}j[J>>1]=j[J>>1]&-4|l[H>>0]&3;k[a+76>>2]=-1;k[a+80>>2]=0;i[a+86>>0]=2;k[a+40>>2]=-1108210269;k[a+92>>2]=0;k[a+72>>2]=1;i[a+87>>0]=-1;k[a+104>>2]=0;D=a+144|0;k[D>>2]=0;k[D+4>>2]=0;r=K;return}function Gh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,m=0,n=0;n=r;r=r+16|0;if((r|0)>=(s|0))ka();m=n;h=a+20|0;g=k[h>>2]|0;f=k[g+60>>2]|0;k[f>>2]=b;k[f+4>>2]=c;f=Xd(g)|0;do if((f|0)!=100){e=k[h>>2]|0;if(e){f=rd(e)|0;k[h>>2]=0;e=k[a+24>>2]|0;if(!f){f=m;k[f>>2]=b;k[f+4>>2]=c;f=1;e=zh(e,41432,m)|0;break}else{g=Xe(e)|0;k[m>>2]=g;e=zh(e,10344,m)|0;break}}else e=0}else{f=k[k[g+56>>2]>>2]|0;e=k[a+12>>2]|0;g=k[f+(e<<2)+84>>2]|0;if(g>>>0>=12){k[a+8>>2]=k[f+((j[f+20>>1]|0)+e<<2)+84>>2];k[a+4>>2]=(g+-12|0)>>>1;f=k[f>>2]|0;k[a+16>>2]=f;f=f+72|0;i[f>>0]=l[f>>0]|16;f=0;e=0;break}f=k[a+24>>2]|0;if(!g)e=20352;else e=(g|0)==7?20336:20320;k[m>>2]=e;e=zh(f,41400,m)|0;rd(k[h>>2]|0)|0;k[h>>2]=0;f=1}while(0);k[d>>2]=e;r=n;return f|0}function Hh(a){a=a|0;var b=0;if(a){b=k[a>>2]|0;rg(b,k[a+112>>2]|0);Sk(b,k[a+316>>2]|0)}return}function Ih(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;f=i[a+73>>0]|0;do if(!(f<<24>>24))e=4;else{if((f&255)>2?(e=Pn(a)|0,(e|0)!=0):0)break;e=Qm(a,b,c,d,0)|0}while(0);return e|0}function Jh(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0;i=r;r=r+16|0;if((r|0)>=(s|0))ka();g=i;if(!a){k[g>>2]=77646;k[g+4>>2]=10788;gd(21,13648,g);d=21}else{h=k[a+24>>2]|0;g=a+20|0;f=k[g>>2]|0;do if((d|c|0)>=0?(m=ow(d|0,((d|0)<0)<<31>>31|0,c|0,((c|0)<0)<<31>>31|0)|0,o=L,l=k[a+4>>2]|0,n=((l|0)<0)<<31>>31,!((o|0)>(n|0)|(o|0)==(n|0)&m>>>0>l>>>0)):0)if(f){d=uc[e&31](k[a+16>>2]|0,(k[a+8>>2]|0)+d|0,c,b)|0;if((d|0)==4){Sg(f)|0;k[g>>2]=0;d=4;break}else{k[f+80>>2]=d;break}}else d=4;else d=1;while(0);k[h+52>>2]=d;f=k[h+236>>2]|0;do if(f){g=f+8|0;if(!(j[g>>1]&9312)){j[g>>1]=1;break}else{Ag(f);break}}while(0);d=Tg(h,d)|0}r=i;return d|0}function Kh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;f=a+73|0;e=i[f>>0]|0;if((e&255)>2){e=Pn(a)|0;if(!e){e=i[f>>0]|0;g=4}}else g=4;if((g|0)==4)if(e<<24>>24==1){Qn(k[a+4>>2]|0,k[a+60>>2]|0,a)|0;if(!(i[a+72>>0]&1))e=8;else e=Qm(a,b,c,d,1)|0}else e=4;return e|0}function Lh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0,w=0,x=0,y=0;y=r;r=r+16|0;if((r|0)>=(s|0))ka();w=y+4|0;x=y;k[w>>2]=a;k[x>>2]=b;p=l[c+1>>0]|0;q=l[c>>0]|0;v=i[c+3>>0]|0;u=(d|0)!=0;if(u)t=d;else t=l[c+2>>0]|0;m=v<<24>>24!=0;h=0;a:while(1){while(1){f=Rn(w)|0;if(!f){o=60;break a}if((f|0)==(q|0)){o=7;break a}if((f|0)!=(t|0))break;if(u){o=40;break}b=Rn(x)|0;if(!b){e=0;break a}g=Rn(w)|0;if((g|0)==94){g=Rn(w)|0;e=1}else e=0;if((g|0)==93){g=Rn(w)|0;j=(b|0)==93&1}else j=0;f=(g|0)==0;if((g|0)!=93&(f^1)){f=0;while(1){if(((g|0)==45?(n=i[k[w>>2]>>0]|0,n<<24>>24!=93):0)?n<<24>>24!=0&(f|0)!=0:0){g=b>>>0<f>>>0|b>>>0>(Rn(w)|0)>>>0;a=0;j=g?j:1}else{a=g;j=(b|0)==(g|0)?1:j}g=Rn(w)|0;f=(g|0)==0;if(!((g|0)!=93&(f^1))){g=f;break}else f=a}}else g=f;if(g|(j|0)==(e|0)){e=0;break a}}if((o|0)==40){o=0;f=Rn(w)|0;if(!f){e=0;break}h=k[w>>2]|0}g=Rn(x)|0;if((f|0)==(g|0))continue;if(m&f>>>0<128&g>>>0<128?(i[9328+(f&255)>>0]|0)==(i[9328+(g&255)>>0]|0):0)continue;if((f|0)!=(p|0)){e=0;break}if(!((g|0)!=0?(k[w>>2]|0)!=(h|0):0)){e=0;break}}b:do if((o|0)==7){b=Rn(w)|0;a=(b|0)==(p|0);if((b|0)==(q|0)|a)do{if(a?(Rn(x)|0)==0:0){e=0;break b}b=Rn(w)|0;a=(b|0)==(p|0)}while((b|0)==(q|0)|a);if(b){do if((b|0)==(t|0)){if(u){b=Rn(w)|0;if(!b){e=0;break b}else break}e=k[x>>2]|0;c:do if(!(i[e>>0]|0))e=0;else{a=k[w>>2]|0;while(1){if(Lh(a+-1|0,e,c,0)|0)break;b=e+1|0;k[x>>2]=b;if((l[e>>0]|0)>191?(i[b>>0]&-64)<<24>>24==-128:0){while(1){e=e+2|0;if((i[e>>0]&-64)<<24>>24==-128){o=b;b=e;e=o}else break}k[x>>2]=e}else e=b;if(!(i[e>>0]|0)){e=0;break c}}e=(i[e>>0]|0)!=0}while(0);e=e&1;break b}while(0);if(b>>>0>=129){e=Rn(x)|0;if(!e){e=0;break}a=k[w>>2]|0;while(1){if((e|0)==(b|0)?(Lh(a,k[x>>2]|0,c,d)|0)!=0:0){e=1;break b}e=Rn(x)|0;if(!e){e=0;break b}}}if(!(v<<24>>24)){j=b;h=b}else{h=b&255;j=l[9328+h>>0]|0;h=((l[10368+h>>0]|-33)^32)&b}a=k[x>>2]|0;e=a+1|0;k[x>>2]=e;b=i[a>>0]|0;if(!(b<<24>>24))e=0;else{g=k[w>>2]|0;f=b&255;while(1){if((f|0)==(j|0)|(f|0)==(h|0)?(Lh(g,e,c,d)|0)!=0:0){e=1;break b}b=a+2|0;k[x>>2]=b;a=i[e>>0]|0;if(!(a<<24>>24)){e=0;break}else{o=e;f=a&255;e=b;a=o}}}}else e=1}else if((o|0)==60)e=(i[k[x>>2]>>0]|0)==0&1;while(0);r=y;return e|0}function Mh(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;if((r|0)>=(s|0))ka();b=c;do if(a){a=k[a+76>>2]|0;if((a|0)==-1607883113){a=1;break}else if((a|0)==1266094736|(a|0)==-264537850){k[b>>2]=41352;gd(21,15256,b);a=0;break}else{k[b>>2]=15248;gd(21,15256,b);a=0;break}}else{k[b>>2]=20304;gd(21,15256,b);a=0}while(0);r=c;return a|0}function Nh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0;l=r;r=r+16|0;if((r|0)>=(s|0))ka();g=l;h=l+8|0;k[h>>2]=0;k[e>>2]=0;if((Mh(a)|0)==0|(b|0)==0){k[g>>2]=106003;k[g+4>>2]=10788;gd(21,13648,g);d=21}else{a:do if((c|0)>-1)if((c|0)>0){g=0;do{if((i[b+g>>0]|0)==0?(i[b+(g|1)>>0]|0)==0:0)break a;g=g+2|0}while((g|0)<(c|0))}else g=0;else g=c;while(0);j=Wh(a,b,g)|0;if(j){d=nh(a,j,-1,d,0,e,h)|0;g=k[h>>2]|0;if((g|0)!=0&(f|0)!=0){e=Sn(j,g-j|0)|0;if((e|0)>0){c=0;g=b;do{g=(i[g+1>>0]&-8)<<24>>24==-40?g+4|0:g+2|0;c=c+1|0}while((c|0)!=(e|0))}else g=b;k[f>>2]=b+(g-b)}}else d=0;rg(a,j);d=Tg(a,d)|0}r=l;return d|0}function Oh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+16|0;if((r|0)>=(s|0))ka();m=p;n=a+12|0;f=k[n>>2]|0;l=(c|0)!=0;e=b<<((f|0)==0&l&1);o=a+20|0;h=a+8|0;g=k[h>>2]|0;if((e+(k[o>>2]|0)|0)>>>0>g>>>0){e=e+(g<<1)|0;k[h>>2]=e;f=k[a>>2]|0;if((Qc()|0)==0?(j=wg(f,e<<2,0)|0,(j|0)!=0):0){k[a>>2]=j;f=k[n>>2]|0;j=5}else j=21}else j=5;a:do if((j|0)==5){e=a+16|0;if(!f){k[e>>2]=b;if((b|0)>0){e=0;do{k[m>>2]=k[d+(e<<2)>>2];f=dd(10344,m)|0;if(!f){j=21;break a}h=k[o>>2]|0;k[o>>2]=h+1;k[(k[a>>2]|0)+(h<<2)>>2]=f;e=e+1|0}while((e|0)<(b|0))}}else if((k[e>>2]|0)!=(b|0)){e=a+4|0;$c(k[e>>2]|0);o=dd(40912,m)|0;k[e>>2]=o;k[a+24>>2]=1;e=1;break}if(l){if((b|0)>0){h=0;do{g=c+(h<<2)|0;e=k[g>>2]|0;if(!e)e=0;else{f=e;while(1)if(!(i[f>>0]|0))break;else f=f+1|0;f=(f-e&1073741823)+1|0;e=Yc(f)|0;if(!e){j=21;break a}pw(e|0,k[g>>2]|0,f|0)|0}m=k[o>>2]|0;k[o>>2]=m+1;k[(k[a>>2]|0)+(m<<2)>>2]=e;h=h+1|0}while((h|0)<(b|0))}k[n>>2]=(k[n>>2]|0)+1;e=0}else e=0}while(0);if((j|0)==21){k[a+24>>2]=7;e=1}r=p;return e|0}function Ph(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0;m=r;r=r+16|0;if((r|0)>=(s|0))ka();j=m;if(!b)g=0;else{f=b;while(1)if(!(i[f>>0]|0))break;else f=f+1|0;g=f-b&1073741823}h=a+308|0;f=gn(h,b,j)|0;if((f|0)!=0?(k[f+8>>2]|0)!=0:0){k[j>>2]=114188;k[j+4>>2]=10788;gd(21,13648,j);f=21}else{f=rh(a,g+17|0,0)|0;if((f|0)!=0?(l=f+16|0,pw(l|0,b|0,g+1|0)|0,k[f+4>>2]=l,k[f>>2]=c,k[f+8>>2]=d,k[f+12>>2]=e,l=Nk(h,l,f)|0,(l|0)!=0):0){i[a+65>>0]=1;rg(a,l);f=0}else f=0}f=Tg(a,f)|0;if((f|0)!=0&(e|0)!=0)hc[e&31](d);r=m;return f|0}function Qh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=r;r=r+16|0;if((r|0)>=(s|0))ka();x=A;l=A+8|0;y=k[a>>2]|0;h=k[y+92>>2]|0;if(!(k[y+148>>2]|0))k[y+240>>2]=0;z=a+12|0;k[z>>2]=0;n=a+480|0;k[n>>2]=b;t=vg(1612,0)|0;if(t){k[t>>2]=-1;o=y+250|0;p=i[o>>0]|0;if(k[y+276>>2]|0)i[o>>0]=1;q=y+65|0;m=a+504|0;d=a+508|0;j=y+240|0;g=0;f=-1;a:while(1){while(1){if(i[q>>0]|0){v=19;break a}e=b+g|0;if(!(i[e>>0]|0)){v=19;break a}k[m>>2]=e;e=Hn(e,l)|0;k[d>>2]=e;g=e+g|0;if((g|0)>(h|0)){v=12;break a}e=k[l>>2]|0;if((e|0)==1){f=e;v=17;break}else if((e|0)==150){v=16;break a}else if((e|0)!=151){f=e;break}if(k[j>>2]|0){v=15;break a}}if((v|0)==17){v=0;k[n>>2]=b+g};k[x+0>>2]=k[m+0>>2];k[x+4>>2]=k[m+4>>2];Tn(t,f,x,a);f=k[l>>2]|0;if(k[z>>2]|0){v=19;break}}if((v|0)==12){k[z>>2]=18;v=19}else if((v|0)==15){yh(a,20384,x);k[z>>2]=9;v=19}else if((v|0)==16){rg(y,k[c>>2]|0);k[x>>2]=m;d=zh(y,20400,x)|0;k[c>>2]=d;d=1}if((v|0)==19){g=b+g|0;if((i[g>>0]|0)==0?(k[z>>2]|0)==0:0){if((f|0)!=1){k[x+0>>2]=k[m+0>>2];k[x+4>>2]=k[m+4>>2];Tn(t,1,x,a);k[n>>2]=g};k[x+0>>2]=k[m+0>>2];k[x+4>>2]=k[m+4>>2];Tn(t,0,x,a);d=0}else d=0}if((k[t>>2]|0)>-1)do Un(t);while((k[t>>2]|0)>-1);$c(t);i[o>>0]=p;if(!(i[q>>0]|0)){f=k[z>>2]|0;if(!((f|0)==101|(f|0)==0)){u=f;v=29}}else{k[z>>2]=7;u=7;v=29}if((v|0)==29?(w=a+4|0,(k[w>>2]|0)==0):0){if((u|0)!=516){f=u&255;if(f>>>0>26|(f|0)==2)f=16328;else f=k[15488+(f<<2)>>2]|0}else f=16344;k[x>>2]=f;ih(w,y,10344,x)}f=a+4|0;e=k[f>>2]|0;if(e){k[c>>2]=e;c=k[z>>2]|0;k[x>>2]=e;gd(c,10344,x);k[f>>2]=0;d=d+1|0}f=a+8|0;e=k[f>>2]|0;if(((e|0)!=0?(k[a+64>>2]|0)>0:0)?(i[a+18>>0]|0)==0:0){Ul(e);k[f>>2]=0}if(!(i[a+18>>0]|0)){c=a+400|0;rg(y,k[c>>2]|0);k[c>>2]=0;k[a+396>>2]=0}$c(k[a+520>>2]|0);if(!(i[a+451>>0]|0))pg(y,k[a+484>>2]|0);if(i[a+449>>0]|0)Vn(y,k[a+532>>2]|0);og(y,k[a+488>>2]|0);f=k[a+444>>2]|0;g=a+472|0;e=k[g>>2]|0;if((f|0)>0)do{f=f+-1|0;rg(y,k[e+(f<<2)>>2]|0);e=k[g>>2]|0}while((f|0)>0);rg(y,e);f=a+404|0;e=k[f>>2]|0;if(e)do{k[f>>2]=k[e>>2];rg(y,e);e=k[f>>2]|0}while((e|0)!=0);f=a+524|0;e=k[f>>2]|0;if(e)do{k[f>>2]=k[e+72>>2];pg(y,e);e=k[f>>2]|0}while((e|0)!=0);if((d|0)>0?(k[z>>2]|0)==0:0)k[z>>2]=1}else{i[y+65>>0]=1;d=7}r=A;return d|0}function Rh(a){a=a|0;if(a){if(!((j[a+8>>1]&9312)==0?(k[a+24>>2]|0)==0:0))Vg(a);rg(k[a+32>>2]|0,a)}return}function Sh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0,m=0,n=0;if(!(k[a+252>>2]|0)){n=a+251|0;if(i[n>>0]|0)$c(k[a+276>>2]|0);g=c&-8;e=(g|0)<5?0:g;f=(d|0)<0?0:d;if(!((e|0)==0|(f|0)==0))if(!b){c=k[3164]|0;if(c)sc[c&3]();c=ha(e,f)|0;c=vg(c,((c|0)<0)<<31>>31)|0;d=k[3166]|0;if(d)sc[d&3]();if(!c)c=0;else f=(qc[k[8744+48>>2]&127](c)|0)/(g|0)|0}else c=b;else{e=0;c=0}d=a+276|0;k[d>>2]=c;m=a+272|0;k[m>>2]=0;j[a+248>>1]=e;if(!c){k[d>>2]=a;k[a+280>>2]=a;i[a+250>>0]=0;c=0}else{if((f|0)>0){d=ha(e,f)|0;l=c+(ha(e,f+-1|0)|0)|0;h=0;g=c;while(1){f=f+-1|0;k[g>>2]=h;if((f|0)<=0)break;else{h=g;g=g+e|0}}k[m>>2]=l;c=c+d|0}k[a+280>>2]=c;i[a+250>>0]=1;c=(b|0)==0&1}i[n>>0]=c;c=0}else c=5;return c|0}function Th(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+16|0;if((r|0)>=(s|0))ka();n=o;do if(!a)c=0;else{h=a+76|0;l=k[h>>2]|0;if(!((l|0)==1266094736|(l|0)==-1607883113|(l|0)==-264537850)){k[n>>2]=15248;gd(21,15256,n);k[n>>2]=128509;k[n+4>>2]=10788;gd(21,13648,n);c=21;break}j=a+20|0;c=k[j>>2]|0;a:do if((c|0)>0){l=a+16|0;d=k[l>>2]|0;f=0;do{e=k[d+(f<<4)+4>>2]|0;if(e)k[(k[e+4>>2]|0)+4>>2]=k[e>>2];f=f+1|0}while((f|0)!=(c|0));g=0;while(1){c=k[d+(g<<4)+12>>2]|0;if((c|0)!=0?(m=k[c+16>>2]|0,(m|0)!=0):0){c=m;do{d=k[c+8>>2]|0;b:do if(i[d+44>>0]&16){e=d+60|0;while(1){d=k[e>>2]|0;if(!d)break b;f=d+24|0;if((k[d>>2]|0)==(a|0))break;else e=f}k[e>>2]=k[f>>2];Fn(d)}while(0);c=k[c>>2]|0}while((c|0)!=0)}c=g+1|0;if((c|0)>=(k[j>>2]|0))break a;d=k[l>>2]|0;g=c}}while(0);wl(a);Wn(a,68);if((b|0)==0?(Ol(a)|0)!=0:0){zg(a,5,16368,n);c=5;break}k[h>>2]=1691352191;Rg(a);c=0}while(0);r=o;return c|0}function Uh(a,b){a=a|0;b=b|0;if(((b*1e3|0)+1e3|0)>(k[a+492>>2]|0))b=0;else{b=k[a>>2]|0;wc[k[b+60>>2]&127](b,1e6)|0;b=1}return b|0}function Vh(a,b,c,d,e,f,g,h,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;l=l|0;var n=0,o=0,p=0,q=0,t=0,u=0,v=0;v=r;r=r+16|0;if((r|0)>=(s|0))ka();t=v;do if(b){p=(f|0)!=0;n=(h|0)!=0;if(p)if(n|(g|0)!=0){u=8;break}else{n=0;o=0}else{o=(g|0)!=0;if(!(o|n^1)){u=8;break}}if(!(o&((p|n)^1)|(c|0)<-1|(c|0)>127)){n=b;while(1)if(!(i[n>>0]|0))break;else n=n+1|0;o=n-b&1073741823;if(o>>>0<=255){q=d&2048;n=d&7;if((n|0)!=4){if((n|0)==5){n=Vh(a,b,c,q|1,e,f,g,h,l)|0;if(n)break;n=Vh(a,b,c,q|2,e,f,g,h,l)|0;if(!n)n=3;else break}}else n=2;p=n&255;d=Xh(a,b,o,c,p,0)|0;if(((d|0)!=0?(m[d+2>>1]&3|0)==(n|0):0)?(j[d>>1]|0)==(c|0):0){if(k[a+148>>2]|0){zg(a,5,15424,t);n=5;break}n=k[a+4>>2]|0;if(n)do{t=n+88|0;j[t>>1]=j[t>>1]|8;n=k[n+52>>2]|0}while((n|0)!=0)}n=Xh(a,b,o,c,p,1)|0;if(!n)n=7;else{Sl(a,n);if(l)k[l>>2]=(k[l>>2]|0)+1;k[n+32>>2]=l;l=n+2|0;j[l>>1]=m[l>>1]&3|q;k[n+12>>2]=f;k[n+16>>2]=g;k[n+20>>2]=h;k[n+4>>2]=e;j[n>>1]=c;n=0}}else u=8}else u=8}else u=8;while(0);if((u|0)==8){k[t>>2]=129075;k[t+4>>2]=10788;gd(21,13648,t);n=21}r=v;return n|0}function Wh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+48|0;if((r|0)>=(s|0))ka();f=g;d=f+0|0;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));k[f+32>>2]=a;ah(f,b,c,2,0)|0;c=f+8|0;b=k[c>>2]|0;if(!((b&2|0)==0|(b&16711680|0)==65536))Gn(f,1)|0;if(!(i[a+65>>0]|0))c=k[f+16>>2]|0;else{if(!((j[c>>1]&9312)==0?(k[f+24>>2]|0)==0:0))Vg(f);k[f+16>>2]=0;c=0}r=g;return c|0}function Xh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,m=0,n=0,o=0,p=0,q=0;n=((l[9328+(l[b>>0]|0)>>0]|0)+c|0)%23|0;o=a+336|0;h=Wk(o,n,b,c)|0;if(!h){m=0;g=0}else{m=0;g=0;do{q=Xn(h,d,e)|0;p=(q|0)>(m|0);m=p?q:m;g=p?h:g;h=k[h+8>>2]|0}while((h|0)!=0)}do if(!(f<<24>>24)){if((g|0)!=0?(k[a+24>>2]&2097152|0)==0:0){h=0;n=12;break}h=Wk(10840,n,b,c)|0;if(!h){m=0;n=8}else{m=0;do{p=Xn(h,d,e)|0;n=(p|0)>(m|0);m=n?p:m;g=n?h:g;h=k[h+8>>2]|0}while((h|0)!=0);n=8}}else n=8;while(0);do if((n|0)==8){h=f<<24>>24!=0;if(h&(m|0)<6){h=c+37|0;g=rh(a,h,0)|0;if(!g){n=14;break}kw(g|0,0,h|0)|0;h=g+36|0;k[g+24>>2]=h;j[g>>1]=d;j[g+2>>1]=e&255;pw(h|0,b|0,c|0)|0;i[g+(c+36)>>0]=0;sg(o,g);h=1}if(!g)n=14;else n=12}while(0);if((n|0)==12)if((k[g+16>>2]|0)==0?!((k[g+12>>2]|0)!=0|h):0)n=14;if((n|0)==14)g=0;return g|0}function Yh(a,b,c){a=a|0;b=b|0;c=c|0;b=r;r=r+16|0;if((r|0)>=(s|0))ka();c=b;k[c>>2]=k[(k[a+4>>2]|0)+24>>2];c=dd(15304,c)|0;k[a+20>>2]=1;i[a+25>>0]=1;ah(k[a>>2]|0,c,-1,1,-1)|0;$c(c);r=b;return}function Zh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((a|0)<=(d|0)){d=k[3164]|0;if(d)sc[d&3]();Pf(b,c,0,0,0)|0;d=k[3166]|0;if(d)sc[d&3]()}return 0}function _h(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;a:do if(b){c=b;while(1)if(!(i[c>>0]|0))break;else c=c+1|0;e=c-b&1073741823;d=k[a+20>>2]|0;c=d+-1|0;if((d|0)>0){f=c;d=(k[a+16>>2]|0)+(c<<4)|0;while(1){a=k[d>>2]|0;if(!a)c=0;else{c=a;while(1)if(!(i[c>>0]|0))break;else c=c+1|0;c=c-a&1073741823}if((e|0)==(c|0)?(id(a,b)|0)==0:0){c=f;break a}c=f+-1|0;if((f|0)>0){f=c;d=d+-16|0}else break}}}else c=-1;while(0);return c|0}function $h(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;q=a+20|0;f=k[q>>2]|0;if((f|0)>0){r=(b|0)==10;o=a+16|0;p=(c|0)==0;m=d;a=f;d=0;n=0;while(1){if((n|0)==(b|0)|r){g=k[(k[o>>2]|0)+(n<<4)+4>>2]|0;if(g){f=k[g+4>>2]|0;k[f+4>>2]=k[g>>2];if(!(i[f+20>>0]|0)){g=k[f>>2]|0;h=k[g+208>>2]|0;if(!h)h=0;else{if(p)f=0;else f=k[g+176>>2]|0;h=Yn(h,c,f,k[g+180>>2]|0,l[g+9>>0]|0,k[g+152>>2]|0,k[g+200>>2]|0,m,e)|0;a=k[q>>2]|0}}else h=6}else h=0;e=(h|0)==5;j=0;g=0;f=a;d=e?1:d;e=e?0:h}else{j=e;g=m;f=a;e=0}n=n+1|0;a=(e|0)==0;if(!((n|0)<(f|0)&a))break;else{m=g;e=j;a=f}}}else{a=1;d=0;e=0}return (a&(d|0)!=0?5:e)|0}function ai(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0,w=0;w=r;r=r+32|0;if((r|0)>=(s|0))ka();q=w;t=w+20|0;m=w+16|0;l=w+12|0;h=w+8|0;k[m>>2]=c;k[l>>2]=0;k[h>>2]=0;k[b>>2]=0;e=Qc()|0;do if(!e){if(!(1<<(c&7)&70)){k[q>>2]=130207;k[q+4>>2]=10788;gd(21,13648,q);e=21;break}if((k[2187]|0)!=0&(c&32768|0)==0)g=(c&65536|0)==0?k[2188]|0:1;else g=0;if(!(c&262144)){if(k[2241]|0){c=c|131072;k[m>>2]=c}}else{c=c&-131073;k[m>>2]=c}c=c&-655129;k[m>>2]=c;v=vg(528,0)|0;a:do if(v){kw(v|0,0,528)|0;if(g)k[v+12>>2]=8;k[v+56>>2]=255;k[v+20>>2]=2;n=v+76|0;k[n>>2]=-264537850;o=v+16|0;k[o>>2]=v+456;f=v+88|0;g=11088;e=f+44|0;do{k[f>>2]=k[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(e|0));k[v+132>>2]=0;i[v+63>>0]=1;i[v+67>>0]=-1;f=8920;p=k[f+4>>2]|0;g=v+40|0;k[g>>2]=k[f>>2];k[g+4>>2]=p;k[v+72>>2]=0;k[v+136>>2]=2147483647;k[v+24>>2]=9437264;g=v+428|0;k[g+0>>2]=0;k[g+4>>2]=0;k[g+8>>2]=0;k[g+12>>2]=0;p=v+308|0;k[p+0>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;k[p+12>>2]=0;bi(v,11152,1,0,21,0)|0;bi(v,11152,3,0,21,0)|0;bi(v,11152,2,0,21,0)|0;bi(v,13752,1,0,22,0)|0;bi(v,13760,1,1,21,0)|0;p=v+65|0;if(!(i[p>>0]|0)){g=gn(g,11152,q)|0;if(!g)g=0;else g=k[g+8>>2]|0;k[v+8>>2]=g;k[v+48>>2]=c;g=$n(d,a,m,v,l,h)|0;if((g|0)==7)i[p>>0]=1;else if(!g){a=k[l>>2]|0;e=Em(k[v>>2]|0,a,v,(k[o>>2]|0)+4|0,0,k[m>>2]|256)|0;if((e|0)==3082)e=7;else if(!e){c=k[(k[o>>2]|0)+4>>2]|0;k[(k[c+4>>2]|0)+4>>2]=k[c>>2];c=ao(v,c)|0;k[(k[o>>2]|0)+12>>2]=c;if(!(i[p>>0]|0))i[v+62>>0]=i[c+77>>0]|0;c=vg(84,0)|0;if(!c){i[p>>0]=1;c=0}else{f=c+0|0;e=f+84|0;do{i[f>>0]=0;f=f+1|0}while((f|0)<(e|0));g=c+77|0;f=c+8|0;e=f+64|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(e|0));i[g>>0]=1}m=k[o>>2]|0;k[m+28>>2]=c;k[m>>2]=13768;i[m+8>>0]=3;k[m+16>>2]=10728;i[m+24>>0]=1;k[n>>2]=-1607883113;if(i[p>>0]|0){e=v;break}f=v+52|0;k[f>>2]=0;g=v+236|0;c=k[g>>2]|0;do if(c){e=c+8|0;if(!(j[e>>1]&9312)){j[e>>1]=1;break}else{Ag(c);break}}while(0);if((Hf(v,14632,2)|0)==7)i[p>>0]=1;c=Sf(v)|0;do if(!c){c=k[2656]|0;if(c){b:do if((c|0)>0){f=0;while(1){c=k[(k[2658]|0)+(f<<2)>>2]|0;k[t>>2]=0;if(c){e=fc[c&63](v,t,13776)|0;c=k[t>>2]|0;if(e)break}else c=0;$c(c);f=f+1|0;if((f|0)>=(k[2656]|0)){u=40;break b}}k[q>>2]=c;zg(v,e,14592,q);e=k[t>>2]|0}else u=40;while(0);if((u|0)==40){k[t>>2]=0;e=0}$c(e)}if(Sf(v)|0){e=v;break a}}else{k[f>>2]=c;e=k[g>>2]|0;if(e){c=e+8|0;if(!(j[c>>1]&9312)){j[c>>1]=1;break}else{Ag(e);break}}}while(0);Sh(v,0,k[2193]|0,k[2194]|0)|0;k[v+216>>2]=21;k[v+220>>2]=1e3;e=v;break}k[v+52>>2]=e;c=k[v+236>>2]|0;if(!c){e=v;break}e=c+8|0;if(!(j[e>>1]&9312)){j[e>>1]=1;e=v;break}else{Ag(c);e=v;break}}a=k[h>>2]|0;k[q>>2]=a;zg(v,g,(a|0)!=0?10344:0,q);$c(a);a=k[l>>2]|0;e=v}else{a=0;e=v}}else{a=0;e=0}while(0);$c(a);c=Sf(e)|0;if((c|0)==7){Th(e,0)|0;e=0}else if(c)k[v+76>>2]=1266094736;k[b>>2]=e;e=c&255}while(0);r=w;return e|0}function bi(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+16|0;if((r|0)>=(s|0))ka();g=q;p=c&255;if(!(c<<24>>24==4|c<<24>>24==8))if((p+-1|0)>>>0>2){k[g>>2]=129758;k[g+4>>2]=10788;gd(21,13648,g);g=21}else{o=p;h=4}else{o=2;h=4}do if((h|0)==4){n=o&255;h=bo(a,n,b,0)|0;if((h|0)!=0?(k[h+12>>2]|0)!=0:0){if(k[a+148>>2]|0){zg(a,5,13680,g);g=5;break}c=k[a+4>>2]|0;if(c)do{m=c+88|0;j[m>>1]=j[m>>1]|8;c=k[c+52>>2]|0}while((c|0)!=0);m=h+4|0;if((l[m>>0]&247|0)==(o|0)){c=gn(a+428|0,b,g)|0;if(!c)h=0;else h=k[c+8>>2]|0;g=0;do{if((i[h+(g*20|0)+4>>0]|0)==(i[m>>0]|0)){c=k[h+(g*20|0)+16>>2]|0;if(c)hc[c&31](k[h+(g*20|0)+8>>2]|0);k[h+(g*20|0)+12>>2]=0}g=g+1|0}while((g|0)!=3)}}c=bo(a,n,b,1)|0;if(c){k[c+12>>2]=e;k[c+8>>2]=d;k[c+16>>2]=f;i[c+4>>0]=o|p&8;k[a+52>>2]=0;g=k[a+236>>2]|0;if(g){c=g+8|0;if(!(j[c>>1]&9312)){j[c>>1]=1;g=0;break}else{Ag(g);g=0;break}}else g=0}else g=7}while(0);r=q;return g|0}function ci(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0;l=a+24|0;m=k[l>>2]&2;n=a+145|0;i[n>>0]=1;h=a+16|0;f=k[h>>2]|0;i[a+62>>0]=i[(k[f+12>>2]|0)+77>>0]|0;e=a+20|0;d=0;while(1){if((d|0)>=(k[e>>2]|0)){d=f;f=6;break}if(!((d|0)==1?1:(j[(k[f+(d<<4)+12>>2]|0)+78>>1]&1)!=0)?(c=co(a,d,b)|0,(c|0)!=0):0){f=9;break}f=k[h>>2]|0;d=d+1|0}if((f|0)==6)if((j[(k[d+28>>2]|0)+78>>1]&1)==0?(g=co(a,1,b)|0,(g|0)!=0):0){vl(k[(k[h>>2]|0)+28>>2]|0);c=g}else c=0;else if((f|0)==9)Am(a,d);i[n>>0]=0;if(!(c|m))k[l>>2]=k[l>>2]&-3;return c|0}function di(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+16|0;if((r|0)>=(s|0))ka();j=l;h=a+20|0;a:do if((k[h>>2]|0)>0){i=(c|0)==0;f=a+16|0;g=0;a=0;do{e=(g|0)<2^g;d=k[f>>2]|0;if(!(!i?(id(c,k[d+(e<<4)>>2]|0)|0)!=0:0)){a=gn((k[d+(e<<4)+12>>2]|0)+8|0,b,j)|0;if(a){a=k[a+8>>2]|0;if(a)break a}else a=0}g=g+1|0}while((g|0)<(k[h>>2]|0))}else a=0;while(0);r=l;return a|0}function ei(a){a=a|0;if((id(a,12936)|0)!=0?(id(a,12944)|0)!=0:0)a=(id(a,12952)|0)==0&1;else a=1;return a|0}function fi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=k[a+20>>2]|0;a:do if((f|0)>0){c=k[a+16>>2]|0;d=(b|0)==0;e=0;while(1){a=k[c+(e<<4)+4>>2]|0;if(a){if(d)break a;if(!(id(b,k[c+(e<<4)>>2]|0)|0))break a}e=e+1|0;if((e|0)>=(f|0)){a=0;break}}}else a=0;while(0);return a|0}function gi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;a:do if(!a)b=0;else{b=b+-1|0;b:do if((k[a>>2]|0)>>>0>4e3){d=a;c=b;while(1){b=d+8|0;e=k[b>>2]|0;if(!e){g=a;break}b=(c>>>0)%(e>>>0)|0;c=d+12+(((c>>>0)/(e>>>0)|0)<<2)|0;a=k[c>>2]|0;if(!a){a=vg(512,0)|0;if(!a){b=a;j=21;break}kw(a|0,0,512)|0;k[a>>2]=e;k[c>>2]=a}if((k[a>>2]|0)>>>0>4e3){d=a;c=b}else break b}if((j|0)==21){k[c>>2]=b;b=7;break a}h=c+1|0;c=(c>>>0)%125|0;f=d+12|0;a=k[d+(c<<2)+12>>2]|0;if(!a){a=k[d+4>>2]|0;if(a>>>0<124){b=d;j=20}}else{do{if((a|0)==(h|0)){b=0;break a}c=c+1|0;c=c>>>0>124?0:c;a=k[d+(c<<2)+12>>2]|0}while((a|0)!=0);a=k[d+4>>2]|0;if(a>>>0<=61){b=d;j=20}}if((j|0)==20){k[d+4>>2]=a+1;k[b+(c<<2)+12>>2]=h;b=0;break a}e=vg(500,0)|0;if(!e){b=7;break a}pw(e|0,f|0,500)|0;kw(f|0,0,500)|0;k[b>>2]=(((k[g>>2]|0)+124|0)>>>0)/125|0;a=0;b=gi(d,h)|0;do{c=k[e+(a<<2)>>2]|0;if(c)b=gi(d,c)|0|b;a=a+1|0}while((a|0)!=125);$c(e);break a}while(0);a=a+12+(b>>>3)|0;i[a>>0]=l[a>>0]|0|1<<(b&7);b=0}while(0);return b|0}function hi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;a:do if(a){d=b+-1|0;while(1){b=k[a+8>>2]|0;if(!b)break;a=k[a+12+(((d>>>0)/(b>>>0)|0)<<2)>>2]|0;if(!a)break a;else d=(d>>>0)%(b>>>0)|0}if((k[a>>2]|0)>>>0<4001){a=a+12+(d>>>3)|0;i[a>>0]=(l[a>>0]|0)&(1<<(d&7)^255);break}h=a+12|0;pw(c|0,h|0,500)|0;kw(h|0,0,500)|0;h=a+4|0;k[h>>2]=0;e=d+1|0;g=0;do{f=c+(g<<2)|0;b=k[f>>2]|0;if(!((b|0)==0|(b|0)==(e|0))){d=((b+-1|0)>>>0)%125|0;k[h>>2]=(k[h>>2]|0)+1;b=a+(d<<2)+12|0;if(k[b>>2]|0)do{b=d+1|0;d=b>>>0>124?0:b;b=a+(d<<2)+12|0}while((k[b>>2]|0)!=0);k[b>>2]=k[f>>2]}g=g+1|0}while((g|0)!=125)}while(0);return}function ii(a,b){a=a|0;b=b|0;var c=0,d=0;a:do if((a|0)!=0?(c=b+-1|0,c>>>0<(k[a>>2]|0)>>>0):0){while(1){b=k[a+8>>2]|0;if(!b)break;a=k[a+12+(((c>>>0)/(b>>>0)|0)<<2)>>2]|0;if(!a){c=0;break a}else c=(c>>>0)%(b>>>0)|0}if((k[a>>2]|0)>>>0<4001){c=((l[a+12+(c>>>3)>>0]|0)&1<<(c&7)|0)!=0&1;break}d=c+1|0;c=(c>>>0)%125|0;b=k[a+(c<<2)+12>>2]|0;if(b)while(1){if((b|0)==(d|0)){c=1;break a}c=((c+1|0)>>>0)%125|0;b=k[a+(c<<2)+12>>2]|0;if(!b){c=0;break}}else c=0}else c=0;while(0);return c|0}function ji(a){a=a|0;var b=0,c=0;if(a){if(k[a+8>>2]|0){b=a+12|0;c=0;do{ji(k[b+(c<<2)>>2]|0);c=c+1|0}while((c|0)!=125)}$c(a)}return}function ki(a,b){a=a|0;b=b|0;var c=0;a:do if((b|0)>=2?(c=i[11824+(((l[9328+(l[a>>0]|0)>>0]|0)<<2^b^(l[9328+(l[a+(b+-1)>>0]|0)>>0]|0)*3|0)%127|0)>>0]|0,c<<24>>24!=0):0){c=c&255;while(1){c=c+-1|0;if((l[12080+c>>0]|0|0)==(b|0)?(Kc(11264+(m[12208+(c<<1)>>1]|0)|0,a,b)|0)==0:0)break;c=i[11952+c>>0]|0;if(!(c<<24>>24)){c=27;break a}else c=c&255}c=l[12456+c>>0]|0}else c=27;while(0);return c|0}function li(a){a=a|0;var b=0,c=0,d=0;k[2174]=a;if((k[2184]|0)>>>0<a>>>0)k[2184]=a;c=k[2264]|0;if((c|0)==0|(k[2235]|0)<(a|0)){b=vg(a,((a|0)<0)<<31>>31)|0;if((k[2186]|0)!=0&(b|0)!=0?(d=qc[k[8744+48>>2]&127](b)|0,d=(k[2170]|0)+d|0,k[2170]=d,d>>>0>(k[2180]|0)>>>0):0)k[2180]=d}else{b=k[2263]|0;k[2263]=k[b>>2];k[2264]=c+-1;a=(k[2169]|0)+1|0;k[2169]=a;if(a>>>0>(k[2179]|0)>>>0)k[2179]=a}return b|0}function mi(a){a=a|0;var b=0;do if(a){if((k[2234]|0)>>>0<=a>>>0&(k[2262]|0)>>>0>a>>>0){k[a>>2]=k[2263];k[2263]=a;k[2264]=(k[2264]|0)+1;k[2169]=(k[2169]|0)+-1;break}if(!(k[2186]|0)){hc[k[8744+40>>2]&31](a);break}else{b=qc[k[8744+48>>2]&127](a)|0;k[2170]=(k[2170]|0)-b;k[2166]=(k[2166]|0)-b;k[2175]=(k[2175]|0)+-1;hc[k[8744+40>>2]&31](a);break}}while(0);return}function ni(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;if((r|0)>=(s|0))ka();e=g;d=i[a>>0]|0;a:do if(((d&255)+-48|0)>>>0>=10){f=d;d=a;while(1){e=d+1|0;if(!(f<<24>>24))break;f=i[e>>0]|0;d=e}f=d-a&1073741823;d=7-b|0;if((d|0)>0){e=0;while(1){if((l[11248+e>>0]|0|0)==(f|0)?(Kc(11216+(l[11240+e>>0]|0)|0,a,f)|0)==0:0){c=e;break}e=e+1|0;if((e|0)>=(d|0))break a}c=i[11256+c>>0]|0}}else{k[e>>2]=0;In(a,e)|0;c=k[e>>2]&255}while(0);r=g;return c|0}function oi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;c=i[a>>0]|0;do if(c<<24>>24==48){d=i[a+1>>0]|0;if(!(d<<24>>24==88|d<<24>>24==120))if(!a){c=0;j=15;break}else{e=c;c=a;j=12;break}c=i[a+2>>0]|0;if(!(i[10368+(c&255)>>0]&8)){e=48;c=a;j=12}else{e=2;while(1){d=e+1|0;if(c<<24>>24!=48)break;c=i[a+d>>0]|0;e=d}if(!(i[10368+(c&255)>>0]&8)){f=a+e|0;g=0;c=0;d=e}else{g=0;f=0;d=e;while(1){g=nw(g|0,f|0,4)|0;h=L;f=c<<24>>24;g=(0-(f>>>6&1)&9)+f&15|g;d=d+1|0;f=a+d|0;c=i[f>>0]|0;if(!(i[10368+(c&255)>>0]&8)){c=h;break}else f=h}}h=b;k[h>>2]=g;k[h+4>>2]=c;if(!(i[f>>0]|0))c=(d-e|0)<17;else c=0;c=c&1^1}}else{e=c;c=a;j=12}while(0);if((j|0)==12){while(1){d=c+1|0;if(!(e<<24>>24))break;e=i[d>>0]|0;c=d;j=12}c=c-a&1073741823;j=15}if((j|0)==15)c=Zl(a,b,c,1)|0;return c|0}function pi(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,l=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=r;r=r+1264|0;if((r|0)>=(s|0))ka();B=D;A=D+152|0;u=D+742|0;v=D+76|0;p=D+228|0;l=d&-256;q=d&16;z=d&8;t=d&4;h=d&1;w=d&2;if((t|0)!=0?(l|0)==524288|(l|0)==2048|(l|0)==16384:0)y=1;else y=0;x=k[12114]|0;if((x|0)!=(wb()|0)?(x=wb()|0,k[12114]=x,(Qc()|0)==0):0)i[9064]=0;n=c+0|0;o=n+44|0;do{k[n>>2]=0;n=n+4|0}while((n|0)<(o|0));x=(l|0)==256;do if(x){a:do if((wc[k[47552+52>>2]&127](b,B)|0)==0?(f=k[12178]|0,(f|0)!=0):0){l=k[B>>2]|0;n=k[B+72>>2]|0;while(1){if((k[f>>2]|0)==(l|0)?(k[f+4>>2]|0)==(n|0):0)break;f=k[f+32>>2]|0;if(!f){C=18;break a}}l=f+28|0;f=k[l>>2]|0;if(f){while(1){o=l;l=f+8|0;n=f;f=k[l>>2]|0;if((k[n+4>>2]|0)==(d|0)){l=o;break}if(!f){C=18;break a}}k[l>>2]=f;p=k[n>>2]|0;f=n}else C=18}else C=18;while(0);if((C|0)==18){f=Yc(12)|0;if(!f){f=7;break}else p=-1}k[c+28>>2]=f;l=t<<4|w;f=(q|0)!=0;if((p|0)<0){t=f;q=f?l|131200:l;f=b;C=23}else{o=p;f=b;C=36}}else{if(!b){f=eo(514,p)|0;if(!f)f=p;else break}else f=b;C=t<<4|w;q=(q|0)!=0;t=q;q=q?C|131200:C;C=23}while(0);b:do if((C|0)==23){if(!(d&526336)){l=(z|0)==0?0:384;p=0;o=0}else{if(!f)l=0;else{l=f;while(1)if(!(i[l>>0]|0))break;else l=l+1|0;l=l-f&1073741823}do l=l+-1|0;while((i[f+l>>0]|0)!=45);pw(u|0,f|0,l|0)|0;i[u+l>>0]=0;if(wc[k[47552+52>>2]&127](u,v)|0){f=1802;break}l=k[v+12>>2]&511;p=k[v+20>>2]|0;o=k[v+24>>2]|0}n=fo(f,q,l)|0;do if((n|0)<0){v=Mb()|0;if(!(t|((w|0)==0|(k[v>>2]|0)==21))?(g=fo(f,q&131200,l)|0,(g|0)>=0):0){d=d&-8|1;h=1;break}k[B>>2]=31186;k[B+4>>2]=10788;gd(14,14848,B);f=io(14,47896,f,31186)|0;if(!f){f=0;break b}g=c+28|0;C=70;break b}else g=n;while(0);if(!(d&526336)){o=g;C=36}else{fc[k[47552+244>>2]&63](g,p,o)|0;o=g;C=36}}while(0);c:do if((C|0)==36){if(e)k[e>>2]=d;p=c+28|0;g=k[p>>2]|0;if(g){k[g>>2]=o;k[g+4>>2]=d}if(z)qc[k[47552+196>>2]&127](f)|0;f=z<<2;f=(h|0)==0?f:f|2;f=x?f:f|128;f=y?f|8:f;z=f|d&64;k[c+12>>2]=o;k[c+4>>2]=a;k[c+32>>2]=b;g=c+18|0;j[g>>1]=z&255;if(kg((z&64|0)!=0?b:0,48496,1)|0)j[g>>1]=m[g>>1]|16;if(!(dw(k[a+16>>2]|0,1e4)|0))j[g>>1]=m[g>>1]|1;d:do if(!(f&128)){f=wc[k[k[a+20>>2]>>2]&127](b,c)|0;if((f|0)!=48504){if((f|0)!=47472){C=64;break}g=(lw(b|0)|0)+6|0;f=Yc(g)|0;if(f){k[B>>2]=b;fd(g,f,48584,B)|0;k[c+24>>2]=f;k[c+20>>2]=0;f=47472;break}k[c+24>>2]=0;k[c+20>>2]=0;if((o|0)<=-1){g=p;f=7;C=70;break c}go(c,o,30794);g=p;f=7;C=70;break c}do if(!(wc[k[47552+64>>2]&127](k[c+12>>2]|0,A)|0)){f=B;k[f>>2]=0;k[f+4>>2]=0;k[B>>2]=k[A>>2];k[B+4>>2]=k[A+72>>2];f=k[12178]|0;e:do if(!f)C=53;else{while(1){if(!(cw(B,f,8)|0))break;f=k[f+32>>2]|0;if(!f){C=53;break e}}B=f+16|0;k[B>>2]=(k[B>>2]|0)+1}while(0);if((C|0)==53){g=Yc(40)|0;if(!g){f=7;g=c+20|0;break}n=g+0|0;o=n+40|0;do{k[n>>2]=0;n=n+4|0}while((n|0)<(o|0));C=k[B+4>>2]|0;f=g;k[f>>2]=k[B>>2];k[f+4>>2]=C;k[g+16>>2]=1;k[g+32>>2]=k[12178];k[g+36>>2]=0;f=k[12178]|0;if(f)k[f+36>>2]=g;k[12178]=g;f=g}k[c+8>>2]=f;f=48504;C=64;break d}else{f=Mb()|0;f=k[f>>2]|0;g=c+20|0;k[g>>2]=f;f=(f|0)==75?22:10}while(0);go(c,o,30709);k[g>>2]=0;g=p;C=70;break c}else{f=48376;C=64}while(0);if((C|0)==64)k[c+20>>2]=0;k[c>>2]=f;ho(c);f=0}while(0);if((C|0)==70)$c(k[g>>2]|0);r=D;return f|0}function qi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=r;r=r+16|0;if((r|0)>=(s|0))ka();d=e;do if((qc[k[47552+196>>2]&127](b)|0)==-1){a=Mb()|0;if((k[a>>2]|0)==2)a=5898;else a=io(2570,48032,b,31314)|0}else if(c&1){a=wc[k[47552+208>>2]&127](b,d)|0;if((a|0)==14){a=0;break}else if(a)break;if(!(Lb(k[d>>2]|0)|0))a=0;else a=io(1290,48488,b,31329)|0;if(qc[k[47552+16>>2]&127](k[d>>2]|0)|0)io(4106,47856,0,31331)|0}else a=0;while(0);r=e;return a|0}function ri(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;f=r;r=r+80|0;if((r|0)>=(s|0))ka();e=f;if((c|0)==2)a=4;else if((c|0)==1)a=6;else a=0;a=(wc[k[47552+28>>2]&127](b,a)|0)==0;k[d>>2]=a&1;if((!((c|0)!=0|a^1)?(wc[k[47552+52>>2]&127](b,e)|0)==0:0)?(k[e+36>>2]|0)==0:0)k[d>>2]=0;r=f;return 0}function si(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;f=r;r=r+16|0;if((r|0)>=(s|0))ka();e=f;a=c+-1|0;i[d+a>>0]=0;do if((i[b>>0]|0)!=47)if(!(wc[k[47552+40>>2]&127](d,a)|0)){k[e>>2]=31416;k[e+4>>2]=10788;gd(14,14848,e);a=io(14,47904,b,31416)|0;break}else{a=lw(d|0)|0;k[e>>2]=b;fd(c-a|0,d+a|0,48480,e)|0;a=0;break}else{k[e>>2]=b;fd(c,d,10344,e)|0;a=0}while(0);r=f;return a|0}function ti(a,b){a=a|0;b=b|0;return Ib(b|0,258)|0}function ui(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=r;r=r+16|0;if((r|0)>=(s|0))ka();d=e;a=ab()|0;if(a){k[d>>2]=a;fd(b,c,10344,d)|0}r=e;return}function vi(a,b,c){a=a|0;b=b|0;c=c|0;return eb(b|0,c|0)|0}function wi(a,b){a=a|0;b=b|0;Jb(b|0)|0;return}function xi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=r;r=r+16|0;if((r|0)>=(s|0))ka();d=e;kw(c|0,0,b|0)|0;a=wb()|0;k[12114]=a;a=fo(48464,0,0)|0;if((a|0)>=0){do{if((fc[k[47552+100>>2]&63](a,c,b)|0)>=0)break;d=Mb()|0}while((k[d>>2]|0)==4);if(qc[k[47552+16>>2]&127](a)|0)io(4106,47856,0,31521)|0}else{Ub(d|0)|0;b=k[d>>2]|0;i[c>>0]=b;i[c+1>>0]=b>>8;i[c+2>>0]=b>>16;i[c+3>>0]=b>>24;b=c+4|0;a=k[12114]|0;i[b>>0]=a;i[b+1>>0]=a>>8;i[b+2>>0]=a>>16;i[b+3>>0]=a>>24;b=8}r=e;return b|0}function yi(a,b){a=a|0;b=b|0;a=(b+999999|0)/1e6|0;Rb(a|0)|0;return a*1e6|0}function zi(a,b){a=a|0;b=b|0;var c=0,d=0;a=r;r=r+16|0;if((r|0)>=(s|0))ka();d=a;c=d;k[c>>2]=0;k[c+4>>2]=0;c=Bi(0,d)|0;p[b>>3]=(+((k[d>>2]|0)>>>0)+4294967296.0*+(k[d+4>>2]|0))/864.0e5;r=a;return c|0}function Ai(a,b,c){a=a|0;b=b|0;c=c|0;return 0}function Bi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;if((r|0)>=(s|0))ka();a=c;if(!(Xb(a|0,0)|0)){e=k[a>>2]|0;e=xw(e|0,((e|0)<0)<<31>>31|0,1e3,0)|0;e=ow(e|0,L|0,1045635584,49096)|0;d=(k[a+4>>2]|0)/1e3|0;d=ow(e|0,L|0,d|0,((d|0)<0)<<31>>31|0)|0;a=b;k[a>>2]=d;k[a+4>>2]=L;a=0}else a=1;r=c;return a|0}function Ci(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;a:do if(!b){a=0;do{b=k[47560+(a*12|0)>>2]|0;if(b)k[47556+(a*12|0)>>2]=b;a=a+1|0}while((a|0)!=25);b=0}else{a=0;while(1){if(!(dw(b,k[47552+(a*12|0)>>2]|0)|0)){d=a;break}a=a+1|0;if(a>>>0>=25){b=12;break a}}b=47560+(d*12|0)|0;a=k[b>>2]|0;if(!a){a=k[47556+(d*12|0)>>2]|0;k[b>>2]=a}k[47556+(d*12|0)>>2]=(c|0)==0?a:c;b=0}while(0);return b|0}function Di(a,b){a=a|0;b=b|0;var c=0;a=0;while(1){if(!(dw(b,k[47552+(a*12|0)>>2]|0)|0)){c=4;break}a=a+1|0;if(a>>>0>=25){a=0;break}}if((c|0)==4)a=k[47556+(a*12|0)>>2]|0;return a|0}function Ei(a,b){a=a|0;b=b|0;var c=0,d=0;a:do if(!b)a=-1;else{c=0;while(1){a=c+1|0;if(!(dw(b,k[47552+(c*12|0)>>2]|0)|0)){a=c;break a}if((a|0)<24)c=a;else break}}while(0);while(1){a=a+1|0;if((a|0)>=25){a=0;break}if(k[47556+(a*12|0)>>2]|0){d=6;break}}if((d|0)==6)a=k[47552+(a*12|0)>>2]|0;return a|0}function Fi(a,b){a=a|0;b=b|0;return 48504}function Gi(a,b){a=a|0;b=b|0;return 48376}function Hi(a,b){a=a|0;b=b|0;return 47472}function Ii(a){a=a|0;var b=0,c=0;b=k[a+4>>2]|0;if(b)do{c=b;b=k[b>>2]|0;$c(c)}while((b|0)!=0);b=a+0|0;c=b+40|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(c|0));k[a>>2]=14696;return 0}function Ji(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0;l=a+24|0;j=l;if(((k[j>>2]|0)!=(d|0)?1:(k[j+4>>2]|0)!=(e|0))|(d|0)==0&(e|0)==0){f=k[a+4>>2]|0;if(!((f|0)==0|((e|0)<0|(e|0)==0&d>>>0<1020))){g=1020;h=0;do{g=ow(g|0,h|0,1020,0)|0;h=L;f=k[f>>2]|0}while(!((f|0)==0|((h|0)>(e|0)|(h|0)==(e|0)&g>>>0>d>>>0)))}}else f=k[a+32>>2]|0;i=ww(d|0,e|0,1020,0)|0;j=c;g=b;while(1){b=1020-i|0;h=(j|0)<(b|0)?j:b;pw(g|0,f+i+4|0,h|0)|0;j=j-b|0;if((j|0)<=-1)break;f=k[f>>2]|0;if(!((f|0)!=0&(j|0)>0))break;else{i=0;g=g+h|0}}e=ow(c|0,((c|0)<0)<<31>>31|0,d|0,e|0)|0;c=l;k[c>>2]=e;k[c+4>>2]=L;k[a+32>>2]=f;return 0}function Ki(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;a:do if((c|0)>0){h=a+8|0;i=a+16|0;g=a+4|0;d=h;e=k[d>>2]|0;d=k[d+4>>2]|0;while(1){a=k[i>>2]|0;d=ww(e|0,d|0,1020,0)|0;f=1020-d|0;f=(c|0)<(f|0)?c:f;if(!d){e=Yc(1024)|0;if(!e){d=3082;break a}k[e>>2]=0;if(!a){k[g>>2]=e;a=e}else{k[a>>2]=e;a=e}k[i>>2]=a}pw(a+d+4|0,b|0,f|0)|0;c=c-f|0;e=h;e=ow(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0;d=L;a=h;k[a>>2]=e;k[a+4>>2]=d;if((c|0)<=0){d=0;break}else b=b+f|0}}else d=0;while(0);return d|0}function Li(a,b,c){a=a|0;b=b|0;c=c|0;b=k[a+4>>2]|0;if(b)do{c=b;b=k[b>>2]|0;$c(c)}while((b|0)!=0);c=a+0|0;b=c+40|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(b|0));k[a>>2]=14696;return 0}function Mi(a,b){a=a|0;b=b|0;return 0}function Ni(a,b){a=a|0;b=b|0;var c=0,d=0;d=a+8|0;c=k[d+4>>2]|0;a=b;k[a>>2]=k[d>>2];k[a+4>>2]=c;return 0}function Oi(a){a=a|0;var b=0;a=12584|0;b=a+68|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));if(k[2187]|0){k[3146]=8;k[3159]=8}k[3149]=10;k[3153]=1;return 0}function Pi(a){a=a|0;var b=0;a=12584|0;b=a+68|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}function Qi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=vg(48,0)|0;if(d){e=d+0|0;f=e+48|0;do{i[e>>0]=0;e=e+1|0}while((e|0)<(f|0));k[d>>2]=12584;k[d+4>>2]=a;k[d+8>>2]=b;c=(c|0)!=0;k[d+12>>2]=c&1;jo(d);if(c){k[d+16>>2]=10;c=k[3148]|0;k[3148]=c+10;k[3149]=(k[3147]|0)+10+(-10-c)}if(!(k[d+40>>2]|0)){Xi(d);d=0}}else d=0;return d|0}function Ri(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;if(k[a+12>>2]|0){c=k[a>>2]|0;d=a+20|0;f=c+4|0;e=(k[f>>2]|0)+(b-(k[d>>2]|0))|0;k[f>>2]=e;k[c+12>>2]=e+10-(k[c+8>>2]|0);k[d>>2]=b;k[a+24>>2]=((b*9|0)>>>0)/10|0;ko(c)}return}function Si(a){a=a|0;return k[a+36>>2]|0}function Ti(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=k[(k[a+44>>2]|0)+(((b>>>0)%((k[a+40>>2]|0)>>>0)|0)<<2)>>2]|0;a:do if(d){while(1){if((k[d+8>>2]|0)==(b|0))break;d=k[d+16>>2]|0;if(!d){e=6;break a}}if(!(i[d+12>>0]|0))lo(d)}else e=6;while(0);if((e|0)==6)if(!c)d=0;else d=mo(a,b,c)|0;return d|0}function Ui(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=k[a>>2]|0;if((c|0)==0?(k[e+16>>2]|0)>>>0<=(k[e+4>>2]|0)>>>0:0){c=e+20|0;d=k[c>>2]|0;if(!d)k[e+24>>2]=b;else{k[d+28>>2]=b;k[b+24>>2]=d}k[c>>2]=b;d=a+32|0;k[d>>2]=(k[d>>2]|0)+1;i[b+12>>0]=0}else{e=k[b+20>>2]|0;c=(k[e+44>>2]|0)+((((k[b+8>>2]|0)>>>0)%((k[e+40>>2]|0)>>>0)|0)<<2)|0;while(1){a=k[c>>2]|0;d=a+16|0;if((a|0)==(b|0))break;else c=d}k[c>>2]=k[d>>2];d=e+36|0;k[d>>2]=(k[d>>2]|0)+-1;no(b)}return}function Vi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;f=k[a+40>>2]|0;g=a+44|0;c=(k[g>>2]|0)+(((c>>>0)%(f>>>0)|0)<<2)|0;while(1){e=k[c>>2]|0;if((e|0)==(b|0))break;else c=e+16|0}e=b+16|0;k[c>>2]=k[e>>2];k[b+8>>2]=d;c=(k[g>>2]|0)+(((d>>>0)%(f>>>0)|0)<<2)|0;k[e>>2]=k[c>>2];k[c>>2]=b;c=a+28|0;if((k[c>>2]|0)>>>0<d>>>0)k[c>>2]=d;return}function Wi(a,b){a=a|0;b=b|0;var c=0;c=a+28|0;if((k[c>>2]|0)>>>0>=b>>>0){oo(a,b);k[c>>2]=b+-1}return}function Xi(a){a=a|0;var b=0,c=0,d=0,e=0;b=k[a>>2]|0;oo(a,0);e=b+4|0;d=(k[e>>2]|0)-(k[a+20>>2]|0)|0;k[e>>2]=d;e=b+8|0;c=(k[e>>2]|0)-(k[a+16>>2]|0)|0;k[e>>2]=c;k[b+12>>2]=d+10-c;ko(b);$c(k[a+44>>2]|0);$c(a);return}function Yi(a){a=a|0;var b=0,c=0;if(k[a+12>>2]|0){c=k[a>>2]|0;a=c+4|0;b=k[a>>2]|0;k[a>>2]=0;ko(c);k[a>>2]=b}return}function Zi(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;if((r|0)>=(s|0))ka();c=d;b=a+7&-8;a=$v(b+8|0)|0;if(!a){k[c>>2]=b;gd(7,16568,c)}else{c=a;k[c>>2]=b;k[c+4>>2]=((b|0)<0)<<31>>31;a=a+8|0}r=d;return a|0}function _i(a){a=a|0;aw(a+-8|0);return}function $i(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;if((r|0)>=(s|0))ka();e=f;d=a+-8|0;c=bw(d,b+8|0)|0;if(!c){if(!a)d=0;else d=k[d>>2]|0;k[e>>2]=d;k[e+4>>2]=b;gd(7,16528,e)}else{d=c;k[d>>2]=b;k[d+4>>2]=((b|0)<0)<<31>>31;c=c+8|0}r=f;return c|0}function aj(a){a=a|0;if(!a)a=0;else a=k[a+-8>>2]|0;return a|0}function bj(a){a=a|0;return a+7&-8|0}function cj(a){a=a|0;return 0}function dj(a){a=a|0;return}function ej(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,n=0,o=0,p=0,q=0;e=k[c>>2]|0;do if((-1431655766>>>(m[e+8>>1]&31)&1|0)==0?(d=Xg(e,1)|0,(d|0)!=0):0){e=Yg(k[c>>2]|0,1)|0;if((b|0)!=1){o=Xg(k[c+4>>2]|0,1)|0;if(!o)break;b=i[o>>0]|0;if(b<<24>>24){c=0;f=o;while(1){h=f+1|0;if((b&255)>191){g=f;f=h;while(1){b=i[f>>0]|0;if((b&-64)<<24>>24==-128){n=f;f=g+2|0;g=n}else break}}else{b=i[h>>0]|0;f=h}g=c+1|0;if(!(b<<24>>24)){b=g;break}else c=g}if((c|0)>-1){j=xw(b|0,((b|0)<0)<<31>>31|0,5,0)|0;j=po(a,j,L)|0;if(!j)break;b=j+(b<<2)|0;if(i[o>>0]|0){f=o;c=0;while(1){k[j+(c<<2)>>2]=f;h=f+1|0;if((l[f>>0]|0)>191){g=f;while(1)if((i[h>>0]&-64)<<24>>24==-128){n=h;h=g+2|0;g=n}else break}i[b+c>>0]=h-f;g=c+1|0;if(!(i[h>>0]|0))break;else{f=h;c=g}}if((c|0)>-1){n=g;p=17}}}}}else{b=20360;j=20368;n=1;o=0;p=17}if((p|0)==17){c=k[(k[a+4>>2]|0)+4>>2]|0;a:do if((c&1|0)!=0&(e|0)>0){f=(n|0)>0;do{if(f)g=0;else{p=24;break a}while(1){h=l[b+g>>0]|0;if((e|0)>=(h|0)?(cw(d,k[j+(g<<2)>>2]|0,h)|0)==0:0)break;g=g+1|0;if((g|0)>=(n|0)){p=24;break a}}d=d+h|0;e=e-h|0}while((e|0)>0)}else p=24;while(0);b:do if((p|0)==24)if((c&2|0)!=0&(e|0)>0){h=(n|0)>0;do{if(h)f=0;else break b;while(1){g=l[b+f>>0]|0;if((e|0)>=(g|0)?(q=e-g|0,(cw(d+q|0,k[j+(f<<2)>>2]|0,g)|0)==0):0){e=q;break}f=f+1|0;if((f|0)>=(n|0))break b}}while((e|0)>0)}while(0);if(o)$c(j)}$g(a,d,e,1,-1)}while(0);return}function fj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=((k[(k[a+4>>2]|0)+4>>2]|0)!=0)<<31>>31;g=k[(k[(k[a+12>>2]|0)+4>>2]|0)+(((k[a+16>>2]|0)+-1|0)*20|0)+16>>2]|0;d=k[c>>2]|0;a:do if(!(-1431655766>>>((m[d+8>>1]|0)&31)&1)){if((b|0)>1){f=1;d=0;do{e=k[c+(f<<2)>>2]|0;if(-1431655766>>>((m[e+8>>1]|0)&31)&1)break a;e=((mm(k[c+(d<<2)>>2]|0,e,g)|0)^h|0)>-1;d=e?f:d;f=f+1|0}while((f|0)<(b|0));d=k[c+(d<<2)>>2]|0}dh(k[a>>2]|0,d)|0}while(0);return}function gj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=k[c>>2]|0;b=k[a+8>>2]|0;if(!(j[b+8>>1]&8192))b=qh(a,40)|0;else b=k[b+16>>2]|0;do if(b){d=(j[b+8>>1]|0)!=0;if(-1431655766>>>(m[(k[c>>2]|0)+8>>1]&31)&1){if(!d)break;i[a+24>>0]=1;break}if(!d){k[b+32>>2]=k[(k[a>>2]|0)+32>>2];dh(b,e)|0;break}d=(k[(k[a+4>>2]|0)+4>>2]|0)!=0;c=mm(b,e,k[(k[(k[a+12>>2]|0)+4>>2]|0)+(((k[a+16>>2]|0)+-1|0)*20|0)+16>>2]|0)|0;if(!(d&(c|0)<0)?!((c|0)>0&(d^1)):0){i[a+24>>0]=1;break}dh(b,e)|0}while(0);return}function hj(a){a=a|0;var b=0,c=0,d=0;b=k[a+8>>2]|0;if(!(j[b+8>>1]&8192))b=qh(a,0)|0;else b=k[b+16>>2]|0;do if(b){c=b+8|0;if(!((j[c>>1]|0)!=0?(dh(k[a>>2]|0,b)|0,(j[c>>1]&9312)!=0):0))d=7;if((d|0)==7?(k[b+24>>2]|0)==0:0)break;Vg(b)}while(0);return}function ij(a,b,c){a=a|0;b=b|0;c=c|0;b=l[10064+((m[(k[c>>2]|0)+8>>1]|0)&31)>>0]|0;if((b|0)==1)b=20320;else if((b|0)==4)b=20344;else if((b|0)==3)b=20328;else if((b|0)==2)b=20336;else b=20352;$g(a,b,-1,1,0);return}function jj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;b=k[c>>2]|0;c=l[10064+((m[b+8>>1]|0)&31)>>0]|0;do if((c|0)==3){d=Xg(b,1)|0;if(d){b=i[d>>0]|0;if(!(b<<24>>24)){e=0;d=0}else{c=b;b=0;do{b=b+1|0;f=d+1|0;if((c&255)>191){e=d;d=f;while(1){c=i[d>>0]|0;if((c&-64)<<24>>24==-128){c=d;d=e+2|0;e=c}else break}}else{c=i[f>>0]|0;d=f}}while(c<<24>>24!=0);e=b;d=((b|0)<0)<<31>>31}b=k[a>>2]|0;c=b+8|0;if(!(j[c>>1]&9312)){k[b>>2]=e;k[b+4>>2]=d;j[c>>1]=4;break}else{ch(b,e,d);break}}}else if((c|0)==2|(c|0)==1|(c|0)==4){e=Yg(b,1)|0;d=k[a>>2]|0;b=((e|0)<0)<<31>>31;c=d+8|0;if(!(j[c>>1]&9312)){k[d>>2]=e;k[d+4>>2]=b;j[c>>1]=4;break}else{ch(d,e,b);break}}else{c=k[a>>2]|0;b=c+8|0;if(!(j[b>>1]&9312)){j[b>>1]=1;break}else{Ag(c);break}}while(0);return}function kj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,l=0;d=k[c>>2]|0;e=j[d+8>>1]|0;f=c+4|0;b=j[(k[f>>2]|0)+8>>1]|0;do if(!((-1431655766>>>(b&31)|-1431655766>>>(e&31))&1)){g=Yg(d,1)|0;l=Yg(k[f>>2]|0,1)|0;c=k[c>>2]|0;if(!((b|e)&15)){b=ud(c)|0;c=0;h=ud(k[f>>2]|0)|0}else{b=Xg(c,1)|0;c=1;h=Xg(k[f>>2]|0,1)|0}a:do if((l|0)>(g|0)){b=1;d=1}else{d=1;e=g;while(1){if(!(cw(b,h,l)|0)){b=0;break a}d=d+1|0;f=(c|0)==0;do{e=e+-1|0;b=b+1|0;if(f){c=0;break}}while((i[b>>0]&-64)<<24>>24==-128);if((l|0)>(e|0)){b=1;break}}}while(0);e=k[a>>2]|0;c=b?0:d;b=b?0:((d|0)<0)<<31>>31;d=e+8|0;if(!(j[d>>1]&9312)){k[e>>2]=c;k[e+4>>2]=b;j[d>>1]=4;break}else{ch(e,c,b);break}}while(0);return}function lj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,l=0,n=0,o=0,p=0,q=0;d=k[c+4>>2]|0;do if(!(-1431655766>>>((m[d+8>>1]|0)&31)&1)){o=(b|0)==3;if(o?(-1431655766>>>((m[(k[c+8>>2]|0)+8>>1]|0)&31)&1|0)!=0:0)break;q=j[(k[c>>2]|0)+8>>1]|0;g=_g(d)|0;h=((g|0)<0)<<31>>31;q=(q&15)==0;e=k[c>>2]|0;if(q){e=Yg(e,1)|0;f=ud(k[c>>2]|0)|0;if(!f)break;else p=e}else{f=Xg(e,1)|0;if(!f)break;if((g|0)<0?(l=i[f>>0]|0,l<<24>>24!=0):0){e=0;d=f;do{n=d+1|0;if((l&255)>191){b=d;d=n;while(1){l=i[d>>0]|0;if((l&-64)<<24>>24==-128){p=d;d=b+2|0;b=p}else break}}else{l=i[n>>0]|0;d=n}e=e+1|0}while(l<<24>>24!=0);p=e}else p=0}if(o){n=_g(k[c+8>>2]|0)|0;b=((n|0)<0)<<31>>31;o=(n|0)<0;d=iw(0,0,n|0,b|0)|0;d=o?d:n;b=o?L:b;n=n>>>31}else{b=k[(k[(k[a>>2]|0)+32>>2]|0)+88>>2]|0;d=b;b=((b|0)<0)<<31>>31;n=0}do if((g|0)<0){g=ow(p|0,((p|0)<0)<<31>>31|0,g|0,h|0)|0;h=L;if((h|0)<0){d=ow(d|0,b|0,g|0,h|0)|0;b=L;o=(b|0)<0;g=0;h=0;d=o?0:d;b=o?0:b}}else if((g|0)>0){g=ow(g|0,h|0,-1,-1)|0;h=L;break}else{o=((b|0)>0|(b|0)==0&d>>>0>0)<<31>>31;d=ow(o|0,((o|0)<0)<<31>>31|0,d|0,b|0)|0;b=L;break}while(0);if(!n){l=g;n=h}else{l=iw(g|0,h|0,d|0,b|0)|0;n=L;o=(n|0)<0;l=o?0:l;n=o?0:n;d=o?g:d;b=o?h:b}if(q){o=ow(d|0,b|0,l|0,n|0)|0;h=L;e=((p|0)<0)<<31>>31;if((h|0)>(e|0)|(h|0)==(e|0)&o>>>0>p>>>0){d=iw(p|0,e|0,l|0,n|0)|0;b=L;p=(b|0)<0;d=p?0:d;b=p?0:b}Gd(a,f+l|0,d,b,-1);break}e=i[f>>0]|0;if(((l|0)!=0|(n|0)!=0)&e<<24>>24!=0)do{h=f+1|0;if((e&255)>191){g=f;f=h;while(1){e=i[f>>0]|0;if((e&-64)<<24>>24==-128){p=f;f=g+2|0;g=p}else break}}else{e=i[h>>0]|0;f=h}l=ow(l|0,n|0,-1,-1)|0;n=L}while(((l|0)!=0|(n|0)!=0)&e<<24>>24!=0);if(e<<24>>24!=0&((d|0)!=0|(b|0)!=0)){l=b;b=f;do{g=b+1|0;if((e&255)>191)while(1){e=i[g>>0]|0;if((e&-64)<<24>>24==-128){p=g;g=b+2|0;b=p}else{b=g;break}}else{e=i[g>>0]|0;b=g}d=ow(d|0,l|0,-1,-1)|0;l=L}while(e<<24>>24!=0&((d|0)!=0|(l|0)!=0))}else b=f;p=b-f|0;Od(a,f,p,((p|0)<0)<<31>>31,-1,1)}while(0);return}function mj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+48|0;if((r|0)>=(s|0))ka();f=h;g=h+32|0;e=h+4|0;if((b|0)>0?(d=Xg(k[c>>2]|0,1)|0,(d|0)!=0):0){k[g>>2]=b+-1;k[g+4>>2]=0;k[g+8>>2]=c+4;k[e+0>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;k[e+12>>2]=0;k[e+16>>2]=0;k[e+20>>2]=1e9;i[e+24>>0]=1;i[e+25>>0]=0;k[e>>2]=k[(k[a>>2]|0)+32>>2];k[f>>2]=g;Jn(e,2,d,f);d=k[e+12>>2]|0;$g(a,yg(e)|0,d,1,75)}r=h;return}function nj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=r;r=r+16|0;if((r|0)>=(s|0))ka();b=e;c=Xg(k[c>>2]|0,1)|0;k[b>>2]=c;do if((c|0)!=0?(i[c>>0]|0)!=0:0){d=Rn(b)|0;b=k[a>>2]|0;a=((d|0)<0)<<31>>31;c=b+8|0;if(!(j[c>>1]&9312)){k[b>>2]=d;k[b+4>>2]=a;j[c>>1]=4;break}else{ch(b,d,a);break}}while(0);r=e;return}function oj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=Yc(b<<2|1)|0;if(!g)Wd(a);else{if((b|0)>0){f=0;d=g;do{e=_g(k[c+(f<<2)>>2]|0)|0;h=L;e=h>>>0>0|(h|0)==0&e>>>0>1114111?65533:e&2097151;do if(e>>>0>=128){if(e>>>0<2048){i[d>>0]=e>>>6&31|192;i[d+1>>0]=e&63|128;d=d+2|0;break}if(e>>>0<65536){i[d>>0]=e>>>12&15|224;i[d+1>>0]=e>>>6&63|128;i[d+2>>0]=e&63|128;d=d+3|0;break}else{i[d>>0]=e>>>18|240;i[d+1>>0]=e>>>12&63|128;i[d+2>>0]=e>>>6&63|128;i[d+3>>0]=e&63|128;d=d+4|0;break}}else{i[d>>0]=e;d=d+1|0}while(0);f=f+1|0}while((f|0)!=(b|0))}else d=g;d=d-g|0;Od(a,g,d,((d|0)<0)<<31>>31,1,1)}return}function pj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0;b=k[c>>2]|0;c=l[10064+((m[b+8>>1]|0)&31)>>0]|0;a:do if((c|0)==5){c=k[a>>2]|0;b=c+8|0;if(!(j[b>>1]&9312)){j[b>>1]=1;break}else{Ag(c);break}}else if((c|0)==1){b=_g(b)|0;e=L;do if((e|0)<0)if((b|0)==0&(e|0)==-2147483648){k[a+20>>2]=1;i[a+25>>0]=1;ah(k[a>>2]|0,20248,-1,1,-1)|0;break a}else{b=iw(0,0,b|0,e|0)|0;f=L;break}else f=e;while(0);c=k[a>>2]|0;e=c+8|0;if(!(j[e>>1]&9312)){k[c>>2]=b;k[c+4>>2]=f;j[e>>1]=4;break}else{ch(c,b,f);break}}else{d=+Zg(b);if(d<0.0)d=-d;bh(k[a>>2]|0,d)}while(0);return}function qj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0,h=0,j=0,l=0;l=r;r=r+32|0;if((r|0)>=(s|0))ka();h=l+8|0;j=l;if((b|0)==2){b=k[c+4>>2]|0;if(!(-1431655766>>>(m[b+8>>1]&31)&1)){g=_g(b)|0;g=(g|0)>30?30:g;g=(g|0)<0?0:g;f=4}}else{g=0;f=4}a:do if((f|0)==4?(e=k[c>>2]|0,(-1431655766>>>(m[e+8>>1]&31)&1|0)==0):0){d=+Zg(e);p[j>>3]=d;b=(g|0)==0;do if(b&d>=0.0&d<9223372036854775808.0){d=d+.5;d=+(~~d>>>0>>>0)+4294967296.0*+((+W(d)>=1.0?(d>0.0?~~+ia(+V(d/4294967296.0),4294967295.0)>>>0:~~+ga((d-+(~~d>>>0))/4294967296.0)>>>0):0)|0);p[j>>3]=d}else{if(b&d<0.0&d>-9223372036854775808.0){d=.5-d;d=-(+(~~d>>>0>>>0)+4294967296.0*+((+W(d)>=1.0?(d>0.0?~~+ia(+V(d/4294967296.0),4294967295.0)>>>0:~~+ga((d-+(~~d>>>0))/4294967296.0)>>>0):0)|0));p[j>>3]=d;break}k[h>>2]=g;b=h+4|0;p[t>>3]=d;k[b>>2]=k[t>>2];k[b+4>>2]=k[t+4>>2];b=dd(20312,h)|0;if(!b){Wd(a);break a}else e=b;while(1)if(!(i[e>>0]|0))break;else e=e+1|0;Yl(b,j,e-b&1073741823,1)|0;$c(b);d=+p[j>>3]}while(0);bh(k[a>>2]|0,d)}while(0);r=l;return}function rj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Xg(k[c>>2]|0,1)|0;b=Yg(k[c>>2]|0,1)|0;if((d|0)!=0?(e=ow(b|0,((b|0)<0)<<31>>31|0,1,0)|0,e=po(a,e,L)|0,(e|0)!=0):0){if((b|0)>0){c=0;do{f=l[d+c>>0]|0;i[e+c>>0]=((l[10368+f>>0]|0|223)^32)&f;c=c+1|0}while((c|0)!=(b|0))}$g(a,e,b,1,1)}return}function sj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Xg(k[c>>2]|0,1)|0;b=Yg(k[c>>2]|0,1)|0;if((d|0)!=0?(e=ow(b|0,((b|0)<0)<<31>>31|0,1,0)|0,e=po(a,e,L)|0,(e|0)!=0):0){if((b|0)>0){c=0;do{i[e+c>>0]=i[9328+(l[d+c>>0]|0)>>0]|0;c=c+1|0}while((c|0)!=(b|0))}$g(a,e,b,1,1)}return}function tj(a,b,c){a=a|0;b=b|0;c=c|0;$g(a,8632,-1,1,0);return}function uj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;b=ud(k[c>>2]|0)|0;f=Yg(k[c>>2]|0,1)|0;g=nw(f|0,((f|0)<0)<<31>>31|0,1)|0;g=po(a,g|1,L)|0;if(g){if((f|0)>0){d=f<<1;e=0;c=g;while(1){h=l[b>>0]|0;i[c>>0]=i[20288+(h>>>4)>>0]|0;i[c+1>>0]=i[20288+(h&15)>>0]|0;e=e+1|0;if((e|0)==(f|0))break;else{b=b+1|0;c=c+2|0}}c=g+d|0}else c=g;i[c>>0]=0;$g(a,g,f<<1,1,1)}return}function vj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;f=r;r=r+16|0;if((r|0)>=(s|0))ka();b=f;hd(8,b);d=b;c=k[d>>2]|0;d=k[d+4>>2]|0;if((d|0)<0){e=iw(0,0,c|0,d&2147483647|0)|0;d=L;k[b>>2]=e;k[b+4>>2]=d}else e=c;c=k[a>>2]|0;b=c+8|0;if(!(j[b>>1]&9312)){k[c>>2]=e;k[c+4>>2]=d;j[b>>1]=4}else ch(c,e,d);r=f;return}function wj(a,b,c){a=a|0;b=b|0;c=c|0;c=_g(k[c>>2]|0)|0;c=(c|0)<1?1:c;b=po(a,c,((c|0)<0)<<31>>31)|0;if(b){hd(c,b);$g(a,b,c,0,1)}return}function xj(a,b,c){a=a|0;b=b|0;c=c|0;if(mm(k[c>>2]|0,k[c+4>>2]|0,k[(k[(k[a+12>>2]|0)+4>>2]|0)+(((k[a+16>>2]|0)+-1|0)*20|0)+16>>2]|0)|0)dh(k[a>>2]|0,k[c>>2]|0)|0;return}function yj(a,b,c){a=a|0;b=b|0;c=c|0;$g(a,10768,-1,1,0);return}function zj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;b=r;r=r+16|0;if((r|0)>=(s|0))ka();a=b;d=_g(k[c>>2]|0)|0;c=Xg(k[c+4>>2]|0,1)|0;k[a>>2]=c;gd(d,10344,a);r=b;return}function Aj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;b=Xg(k[c>>2]|0,1)|0;do if(b){d=Jc(b)|0;c=k[a>>2]|0;b=((d|0)<0)<<31>>31;a=c+8|0;if(!(j[a>>1]&9312)){k[c>>2]=d;k[c+4>>2]=b;j[a>>1]=4;break}else{ch(c,d,b);break}}while(0);return}function Bj(a,b,c){a=a|0;b=b|0;c=c|0;b=_g(k[c>>2]|0)|0;if(b>>>0<4)b=k[8648+(b<<2)>>2]|0;else b=0;$g(a,b,-1,1,0);return}function Cj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0.0,f=0,g=0,h=0,j=0,n=0,o=0;o=r;r=r+80|0;if((r|0)>=(s|0))ka();b=o+8|0;d=o;h=o+16|0;g=k[c>>2]|0;f=l[10064+(m[g+8>>1]&31)>>0]|0;if((f|0)==1)dh(k[a>>2]|0,g)|0;else if((f|0)==4){g=ud(g)|0;b=Yg(k[c>>2]|0,1)|0;d=nw(b|0,((b|0)<0)<<31>>31|0,1)|0;d=ow(d|0,L|0,4,0)|0;d=po(a,d,L)|0;if(d){if((b|0)>0){f=0;do{c=g+f|0;h=f<<1;i[d+(h+2)>>0]=i[20288+((l[c>>0]|0)>>>4)>>0]|0;i[d+(h+3)>>0]=i[20288+(l[c>>0]&15)>>0]|0;f=f+1|0}while((f|0)!=(b|0))}b=b<<1;i[d+(b+2)>>0]=39;i[d+(b+3)>>0]=0;i[d>>0]=88;i[d+1>>0]=39;$g(a,d,-1,1,-1);$c(d)}}else if((f|0)==3){n=Xg(g,1)|0;if(n){b=0;d=0;f=0;while(1){g=i[n+f>>0]|0;if(g<<24>>24==39){g=ow(b|0,d|0,1,0)|0;d=L}else if(!(g<<24>>24)){g=d;break}else g=b;b=g;f=f+1|0}j=ow(b|0,g|0,3,0)|0;j=ow(j|0,L|0,f|0,((f|0)<0)<<31>>31|0)|0;j=po(a,j,L)|0;if(j){i[j>>0]=39;d=i[n>>0]|0;b=j+1|0;if(!(d<<24>>24))f=2;else{h=n;f=2;g=0;c=1;do{i[b>>0]=d;if((i[h>>0]|0)==39){i[j+f>>0]=39;c=c+2|0}else c=f;g=g+1|0;h=n+g|0;d=i[h>>0]|0;f=c+1|0;b=j+c|0}while(d<<24>>24!=0)}i[b>>0]=39;i[j+f>>0]=0;$g(a,j,f,1,1)}}}else if((f|0)==2){e=+Zg(g);p[t>>3]=e;k[b>>2]=k[t>>2];k[b+4>>2]=k[t+4>>2];fd(50,h,20272,b)|0;Yl(h,d,20,1)|0;if(e!=+p[d>>3]){p[t>>3]=e;k[b>>2]=k[t>>2];k[b+4>>2]=k[t+4>>2];fd(50,h,20280,b)|0}$g(a,h,-1,1,-1)}else $g(a,20304,4,1,0);r=o;return}function Dj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;a=k[a>>2]|0;d=(k[a+32>>2]|0)+32|0;b=k[d>>2]|0;d=k[d+4>>2]|0;c=a+8|0;if(!(j[c>>1]&9312)){k[a>>2]=b;k[a+4>>2]=d;j[c>>1]=4}else ch(a,b,d);return}function Ej(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;a=k[a>>2]|0;c=k[(k[a+32>>2]|0)+80>>2]|0;b=((c|0)<0)<<31>>31;d=a+8|0;if(!(j[d>>1]&9312)){k[a>>2]=c;k[a+4>>2]=b;j[d>>1]=4}else ch(a,c,b);return}function Fj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;a=k[a>>2]|0;c=k[(k[a+32>>2]|0)+84>>2]|0;b=((c|0)<0)<<31>>31;d=a+8|0;if(!(j[d>>1]&9312)){k[a>>2]=c;k[a+4>>2]=b;j[d>>1]=4}else ch(a,c,b);return}function Gj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;t=Xg(k[c>>2]|0,1)|0;a:do if((t|0)!=0?(u=Yg(k[c>>2]|0,1)|0,e=c+4|0,s=Xg(k[e>>2]|0,1)|0,(s|0)!=0):0){if(!(i[s>>0]|0)){dh(k[a>>2]|0,k[c>>2]|0)|0;break}q=Yg(k[e>>2]|0,1)|0;e=c+8|0;p=Xg(k[e>>2]|0,1)|0;if((p|0)!=0?(r=Yg(k[e>>2]|0,1)|0,f=u+1|0,g=((f|0)<0)<<31>>31,d=po(a,f,g)|0,(d|0)!=0):0){l=u-q|0;b:do if((l|0)>=0){m=r-q|0;n=((m|0)<0)<<31>>31;o=q+-1|0;c=0;j=0;while(1){e=t+c|0;b=i[e>>0]|0;if(b<<24>>24==(i[s>>0]|0)?(cw(e,s,q)|0)==0:0){b=k[a>>2]|0;h=k[b+32>>2]|0;f=ow(f|0,g|0,m|0,n|0)|0;g=L;e=ow(f|0,g|0,-1,-1)|0;w=L;h=k[h+88>>2]|0;v=((h|0)<0)<<31>>31;if((w|0)>(v|0)|(w|0)==(v|0)&e>>>0>h>>>0){e=13;break}h=ad(d,f)|0;if(!h){e=15;break}pw(h+j|0,p|0,r|0)|0;e=o+c|0;b=j+r|0;d=h}else{i[d+j>>0]=b;e=c;b=j+1|0}c=e+1|0;if((e|0)<(l|0))j=b;else break b}if((e|0)==13){k[a+20>>2]=18;i[a+25>>0]=1;ah(b,10096,-1,1,0)|0;$c(d);break a}else if((e|0)==15){Wd(a);$c(d);break a}}else{c=0;b=0}while(0);m=u-c|0;pw(d+b|0,t+c|0,m|0)|0;m=b+m|0;i[d+m>>0]=0;$g(a,d,m,1,1)}}while(0);return}function Hj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=k[(k[a>>2]|0)+32>>2]|0;b=_g(k[c>>2]|0)|0;e=L;c=k[d+88>>2]|0;d=((c|0)<0)<<31>>31;if((e|0)>(d|0)|(e|0)==(d|0)&b>>>0>c>>>0){k[a+20>>2]=18;i[a+25>>0]=1;ah(k[a>>2]|0,10096,-1,1,0)|0}else eh(k[a>>2]|0,b);return}function Ij(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;if((r|0)>=(s|0))ka();f=g;d=Xg(k[c>>2]|0,1)|0;e=k[(k[a>>2]|0)+32>>2]|0;k[f>>2]=0;if((b|0)==2)b=Xg(k[c+4>>2]|0,1)|0;else b=0;if((d|0)!=0?(Ye(e,d,b,f)|0)!=0:0){b=k[f>>2]|0;k[a+20>>2]=1;i[a+25>>0]=1;ah(k[a>>2]|0,b,-1,1,-1)|0;$c(k[f>>2]|0)}r=g;return}function Jj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0.0,l=0,m=0,n=0;b=k[a+8>>2]|0;if(!(j[b+8>>1]&8192))d=qh(a,32)|0;else d=k[b+16>>2]|0;a=Me(k[c>>2]|0)|0;do if((d|0)!=0&(a|0)!=5){b=d+16|0;e=b;e=ow(k[e>>2]|0,k[e+4>>2]|0,1,0)|0;k[b>>2]=e;k[b+4>>2]=L;b=k[c>>2]|0;if((a|0)!=1){h=+Zg(b);p[d>>3]=h+ +p[d>>3];i[d+25>>0]=1;break}e=_g(b)|0;f=L;p[d>>3]=+p[d>>3]+(+(e>>>0)+4294967296.0*+(f|0));g=d+24|0;if(!((i[g>>0]|i[d+25>>0])<<24>>24)){d=d+8|0;a=d;c=k[a>>2]|0;a=k[a+4>>2]|0;if((f|0)>-1|(f|0)==-1&e>>>0>4294967295){b=iw(-1,2147483647,c|0,a|0)|0;l=L;if(((a|0)>0|(a|0)==0&c>>>0>0)&((l|0)<(f|0)|(l|0)==(f|0)&b>>>0<e>>>0))b=12;else b=11}else if((a|0)<0?(l=iw(1,-2147483648,c|0,a|0)|0,n=L,b=ow(e|0,f|0,1,0)|0,m=L,(n|0)>(m|0)|(n|0)==(m|0)&l>>>0>b>>>0):0)b=12;else b=11;if((b|0)==11){a=ow(c|0,a|0,e|0,f|0)|0;b=d;k[b>>2]=a;k[b+4>>2]=L;break}else if((b|0)==12){i[g>>0]=1;break}}}while(0);return}function Kj(a){a=a|0;var b=0,c=0,d=0;b=k[a+8>>2]|0;if(!(j[b+8>>1]&8192))b=qh(a,0)|0;else b=k[b+16>>2]|0;do if((b|0)!=0?(c=b+16|0,d=k[c+4>>2]|0,(d|0)>0|(d|0)==0&(k[c>>2]|0)>>>0>0):0){if(i[b+24>>0]|0){k[a+20>>2]=1;i[a+25>>0]=1;ah(k[a>>2]|0,20248,-1,1,-1)|0;break}if(i[b+25>>0]|0){bh(k[a>>2]|0,+p[b>>3]);break}d=b+8|0;c=k[d>>2]|0;d=k[d+4>>2]|0;b=k[a>>2]|0;a=b+8|0;if(!(j[a>>1]&9312)){k[b>>2]=c;k[b+4>>2]=d;j[a>>1]=4;break}else{ch(b,c,d);break}}while(0);return}function Lj(a){a=a|0;var b=0,c=0.0;b=k[a+8>>2]|0;if(!(j[b+8>>1]&8192))b=qh(a,0)|0;else b=k[b+16>>2]|0;if(!b)c=0.0;else c=+p[b>>3];bh(k[a>>2]|0,c);return}function Mj(a){a=a|0;var b=0,c=0,d=0;b=k[a+8>>2]|0;if(!(j[b+8>>1]&8192))b=qh(a,0)|0;else b=k[b+16>>2]|0;if((b|0)!=0?(d=b+16|0,c=k[d>>2]|0,d=k[d+4>>2]|0,(d|0)>0|(d|0)==0&c>>>0>0):0)bh(k[a>>2]|0,+p[b>>3]/(+(c>>>0)+4294967296.0*+(d|0)));return}function Nj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=k[a+8>>2]|0;if(!(j[d+8>>1]&8192))d=qh(a,8)|0;else d=k[d+16>>2]|0;if(!b){if(d)e=7}else if((d|0)!=0?(1431655765>>>((m[(k[c>>2]|0)+8>>1]|0)&31)&1|0)!=0:0)e=7;if((e|0)==7){a=d;a=ow(k[a>>2]|0,k[a+4>>2]|0,1,0)|0;k[d>>2]=a;k[d+4>>2]=L}return}function Oj(a){a=a|0;var b=0,c=0,d=0;b=k[a+8>>2]|0;if(!(j[b+8>>1]&8192))b=qh(a,0)|0;else b=k[b+16>>2]|0;if(!b){c=0;d=0}else{d=b;c=k[d>>2]|0;d=k[d+4>>2]|0}b=k[a>>2]|0;a=b+8|0;if(!(j[a>>1]&9312)){k[b>>2]=c;k[b+4>>2]=d;j[a>>1]=4}else ch(b,c,d);return}function Pj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;if(!(-1431655766>>>(m[(k[c>>2]|0)+8>>1]&31)&1)){d=k[a+8>>2]|0;if(!(j[d+8>>1]&8192))e=qh(a,28)|0;else e=k[d+16>>2]|0;if(e){a=k[(k[a>>2]|0)+32>>2]|0;f=e+24|0;d=(i[f>>0]|0)==0;i[f>>0]=2;k[e+20>>2]=k[a+88>>2];do if(!d){if((b|0)==2){b=c+4|0;d=Xg(k[b>>2]|0,1)|0;b=Yg(k[b>>2]|0,1)|0;if(!b)break}else{b=1;d=20240}Xk(e,d,b)}while(0);d=Xg(k[c>>2]|0,1)|0;b=Yg(k[c>>2]|0,1)|0;if(d)Xk(e,d,b)}}return}function Qj(a){a=a|0;var b=0,c=0;b=k[a+8>>2]|0;if(!(j[b+8>>1]&8192))b=qh(a,0)|0;else b=k[b+16>>2]|0;do if(b){c=i[b+25>>0]|0;if(c<<24>>24==2){k[a+20>>2]=18;i[a+25>>0]=1;ah(k[a>>2]|0,10096,-1,1,0)|0;break}else if(c<<24>>24==1){Wd(a);break}else{$g(a,yg(b)|0,-1,1,1);break}}while(0);return}function Rj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,l=0;g=r;r=r+16|0;if((r|0)>=(s|0))ka();e=g;h=k[(k[a>>2]|0)+32>>2]|0;d=Xg(k[c>>2]|0,1)|0;f=Xg(k[c+4>>2]|0,1)|0;l=Yg(k[c>>2]|0,1)|0;a:do if((l|0)<=(k[h+120>>2]|0)){do if((b|0)==3){c=Xg(k[c+8>>2]|0,1)|0;k[e>>2]=c;if(!c)break a;if((Sn(c,-1)|0)==1){c=Rn(e)|0;break}else{k[a+20>>2]=1;i[a+25>>0]=1;ah(k[a>>2]|0,20192,-1,1,-1)|0;break a}}else c=0;while(0);if((f|0)!=0&(d|0)!=0){b=Lh(d,f,k[(k[a+4>>2]|0)+4>>2]|0,c)|0;d=k[a>>2]|0;e=((b|0)<0)<<31>>31;c=d+8|0;if(!(j[c>>1]&9312)){k[d>>2]=b;k[d+4>>2]=e;j[c>>1]=4;break}else{ch(d,b,e);break}}}else{k[a+20>>2]=1;i[a+25>>0]=1;ah(k[a>>2]|0,20152,-1,1,-1)|0}while(0);r=g;return}function Sj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;n=r;r=r+32|0;if((r|0)>=(s|0))ka();m=n;g=n+16|0;l=Xg(k[c>>2]|0,1)|0;h=Xg(k[c+4>>2]|0,1)|0;j=k[(k[a>>2]|0)+32>>2]|0;a:do if((l|0)!=0?(i[l>>0]|0)!=0:0){b=0;c=l;b:while(1){e=b;d=c;while(1){d=d+e|0;f=Hn(d,g)|0;e=k[g>>2]|0;if((e|0)==151)e=f;else if((e|0)==22|(e|0)==125)break b;else{c=d;b=f;break}}if(!(i[c>>0]|0))break a}k[m>>2]=c-l;k[m+4>>2]=l;k[m+8>>2]=h;k[m+12>>2]=c+b;$g(a,zh(j,19464,m)|0,-1,1,75)}while(0);r=n;return}function Tj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+32|0;if((r|0)>=(s|0))ka();o=p;j=p+16|0;n=Xg(k[c>>2]|0,1)|0;l=Xg(k[c+4>>2]|0,1)|0;m=k[(k[a>>2]|0)+32>>2]|0;a:do if((n|0)!=0?(i[n>>0]|0)!=0:0){h=3;b=0;c=n;while(1){e=b;d=c;do{d=d+e|0;e=Hn(d,j)|0;f=k[j>>2]|0}while((f|0)==151);g=e;e=(f|0)==122|(f|0)==107?0:h+1|0;if((e|0)==2)if((f|0)==5|(f|0)==46|(f|0)==137)break;else c=2;else c=e;if(!(i[d>>0]|0))break a;else{h=c;b=g;c=d}}k[o>>2]=c-n;k[o+4>>2]=n;k[o+8>>2]=l;k[o+12>>2]=c+b;$g(a,zh(m,19464,o)|0,-1,1,75)}while(0);r=p;return}function Uj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;p=r;r=r+32|0;if((r|0)>=(s|0))ka();o=p;m=p+16|0;n=k[(k[a>>2]|0)+32>>2]|0;d=Xg(k[c>>2]|0,1)|0;l=Xg(k[c+4>>2]|0,1)|0;j=Xg(k[c+8>>2]|0,1)|0;if(!((d|0)==0|(l|0)==0)){a:do if(!(i[d>>0]|0))b=0;else{e=d;b=0;do{c=Hn(e,m)|0;if((k[m>>2]|0)==105){g=e;while(1){e=g+c|0;f=Hn(e,m)|0;if((k[m>>2]|0)==151){c=f;g=e}else break}if(!e)break a;h=ow(f|0,((f|0)<0)<<31>>31|0,1,0)|0;h=rh(n,h,L)|0;if(!h)break a;pw(h|0,e|0,f|0)|0;i[h+f>>0]=0;qo(h);if(!(id(l,h)|0)){k[o>>2]=(b|0)!=0?b:10360;k[o+4>>2]=e-d;k[o+8>>2]=d;k[o+12>>2]=j;q=zh(n,19440,o)|0;rg(n,b);d=g+(f+c)|0;b=q}rg(n,h);c=f}e=e+c|0}while((i[e>>0]|0)!=0)}while(0);k[o>>2]=(b|0)!=0?b:10360;k[o+4>>2]=d;$g(a,zh(n,19456,o)|0,-1,1,75);rg(n,b)}r=p;return}function Vj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=r;r=r+48|0;if((r|0)>=(s|0))ka();d=e;if(!(ro(a,b,c,d)|0)){so(d);b=d;bh(k[a>>2]|0,(+((k[b>>2]|0)>>>0)+4294967296.0*+(k[b+4>>2]|0))/864.0e5)}r=e;return}function Wj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+160|0;if((r|0)>=(s|0))ka();d=g+48|0;e=g;f=g+60|0;if(!(ro(a,b,c,e)|0)){to(e);c=k[e+12>>2]|0;b=k[e+16>>2]|0;k[d>>2]=k[e+8>>2];k[d+4>>2]=c;k[d+8>>2]=b;fd(100,f,20136,d)|0;$g(a,f,-1,1,-1)}r=g;return}function Xj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+160|0;if((r|0)>=(s|0))ka();d=g+48|0;e=g;f=g+60|0;if(!(ro(a,b,c,e)|0)){uo(e);c=k[e+24>>2]|0;b=~~+p[e+32>>3];k[d>>2]=k[e+20>>2];k[d+4>>2]=c;k[d+8>>2]=b;fd(100,f,20120,d)|0;$g(a,f,-1,1,-1)}r=g;return}function Yj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=r;r=r+176|0;if((r|0)>=(s|0))ka();d=g+48|0;e=g;f=g+72|0;if(!(ro(a,b,c,e)|0)){to(e);uo(e);j=k[e+12>>2]|0;i=k[e+16>>2]|0;h=k[e+20>>2]|0;c=k[e+24>>2]|0;b=~~+p[e+32>>3];k[d>>2]=k[e+8>>2];k[d+4>>2]=j;k[d+8>>2]=i;k[d+12>>2]=h;k[d+16>>2]=c;k[d+20>>2]=b;fd(100,f,20088,d)|0;$g(a,f,-1,1,-1)}r=g;return}function Zj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,q=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0;C=r;r=r+208|0;if((r|0)>=(s|0))ka();y=C+96|0;z=C+48|0;B=C+104|0;A=C;a:do if(((b|0)!=0?(x=Xg(k[c>>2]|0,1)|0,(x|0)!=0):0)?(ro(a,b+-1|0,c+4|0,z)|0)==0:0){g=k[a>>2]|0;f=k[g+32>>2]|0;c=1;b=0;e=0;b:while(1){d=i[x+e>>0]|0;c:do if(d<<24>>24==37){d=e+1|0;switch(i[x+d>>0]|0){case 87:case 83:case 77:case 109:case 72:case 100:{c=ow(c|0,b|0,1,0)|0;b=L;break c}case 102:{c=ow(c|0,b|0,8,0)|0;b=L;break c}case 106:{c=ow(c|0,b|0,3,0)|0;b=L;break c}case 89:{c=ow(c|0,b|0,8,0)|0;b=L;break c}case 74:case 115:{c=ow(c|0,b|0,50,0)|0;b=L;break c}case 37:case 119:break c;default:break a}}else if(!(d<<24>>24))break b;else d=e;while(0);c=ow(c|0,b|0,1,0)|0;b=L;e=d+1|0}if(!(b>>>0<0|(b|0)==0&c>>>0<100)){w=k[f+88>>2]|0;v=((w|0)<0)<<31>>31;if(b>>>0>v>>>0|(b|0)==(v|0)&c>>>0>w>>>0){k[a+20>>2]=18;i[a+25>>0]=1;ah(g,10096,-1,1,0)|0;break}b=jw(0,c|0,32)|0;b=rh(f,b,L)|0;if(!b){Wd(a);break}else w=b}else w=B;so(z);to(z);uo(z);h=z+16|0;j=z+32|0;l=z+20|0;m=A+42|0;n=A+12|0;o=A+16|0;q=z+12|0;u=z+24|0;v=z+8|0;f=0;b=0;d:while(1){g=i[x+f>>0]|0;e:do if(g<<24>>24==37){f=f+1|0;c=x+f|0;do switch(i[c>>0]|0){case 106:case 87:{g=A+0|0;e=z+0|0;d=g+48|0;do{k[g>>2]=k[e>>2];g=g+4|0;e=e+4|0}while((g|0)<(d|0));i[m>>0]=0;k[n>>2]=1;k[o>>2]=1;so(A);g=z;d=A;D=k[d>>2]|0;d=k[d+4>>2]|0;g=ow(k[g>>2]|0,k[g+4>>2]|0,432e5,0)|0;e=L;d=vw(iw(g|0,e|0,D|0,d|0)|0,L|0,864e5,0)|0;if((i[c>>0]|0)==87){c=vw(g|0,e|0,864e5,0)|0;c=ww(c|0,L|0,7,0)|0;k[y>>2]=(d+7-c|0)/7|0;fd(3,w+b|0,19888,y)|0;b=b+2|0;break e}else{k[y>>2]=d+1;fd(4,w+b|0,19904,y)|0;b=b+3|0;break e}}case 102:{E=+p[j>>3];e=w+b|0;p[t>>3]=E>59.999?59.999:E;k[y>>2]=k[t>>2];k[y+4>>2]=k[t+4>>2];fd(7,e,19896,y)|0;if(!e)g=0;else{g=e;while(1)if(!(i[g>>0]|0))break;else g=g+1|0;g=g-e&1073741823}b=g+b|0;break e}case 100:{k[y>>2]=k[h>>2];fd(3,w+b|0,19888,y)|0;b=b+2|0;break e}case 83:{k[y>>2]=~~+p[j>>3];fd(3,w+b|0,19888,y)|0;b=b+2|0;break e}case 119:{c=z;c=ow(k[c>>2]|0,k[c+4>>2]|0,1296e5,0)|0;c=vw(c|0,L|0,864e5,0)|0;c=ww(c|0,L|0,7,0)|0;i[w+b>>0]=c+48;b=b+1|0;break e}case 89:{e=w+b|0;k[y>>2]=k[v>>2];fd(5,e,19928,y)|0;if(!e)g=0;else{g=e;while(1)if(!(i[g>>0]|0))break;else g=g+1|0;g=g-e&1073741823}b=g+b|0;break e}case 72:{k[y>>2]=k[l>>2];fd(3,w+b|0,19888,y)|0;b=b+2|0;break e}case 109:{k[y>>2]=k[q>>2];fd(3,w+b|0,19888,y)|0;b=b+2|0;break e}case 77:{k[y>>2]=k[u>>2];fd(3,w+b|0,19888,y)|0;b=b+2|0;break e}case 74:{e=w+b|0;c=z;p[t>>3]=(+((k[c>>2]|0)>>>0)+4294967296.0*+(k[c+4>>2]|0))/864.0e5;k[y>>2]=k[t>>2];k[y+4>>2]=k[t+4>>2];fd(20,e,19912,y)|0;if(!e)g=0;else{g=e;while(1)if(!(i[g>>0]|0))break;else g=g+1|0;g=g-e&1073741823}b=g+b|0;break e}case 115:{e=w+b|0;d=z;d=vw(k[d>>2]|0,k[d+4>>2]|0,1e3,0)|0;d=ow(d|0,L|0,-413362496,-50)|0;c=y;k[c>>2]=d;k[c+4>>2]=L;fd(30,e,19920,y)|0;if(!e)g=0;else{g=e;while(1)if(!(i[g>>0]|0))break;else g=g+1|0;g=g-e&1073741823}b=g+b|0;break e}default:{i[w+b>>0]=37;b=b+1|0;break e}}while(0)}else if(!(g<<24>>24))break d;else{i[w+b>>0]=g;b=b+1|0}while(0);f=f+1|0}i[w+b>>0]=0;$g(a,w,-1,1,(w|0)==(B|0)?-1:75)}while(0);r=C;return}function _j(a,b,c){a=a|0;b=b|0;c=c|0;Xj(a,0,0);return}function $j(a,b,c){a=a|0;b=b|0;c=c|0;Yj(a,0,0);return}function ak(a,b,c){a=a|0;b=b|0;c=c|0;Wj(a,0,0);return}function bk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=_g(k[c>>2]|0)|0;g=f+1&-2;d=_g(k[c+4>>2]|0)|0;e=(g<<3)+56|0;c=k[(k[a>>2]|0)+32>>2]|0;b=rh(c,e,((e|0)<0)<<31>>31)|0;if(!b)Wd(a);else{kw(b|0,0,e|0)|0;k[b+52>>2]=c;k[b>>2]=0;k[b+8>>2]=f;k[b+12>>2]=d;c=b+56|0;k[b+24>>2]=c;k[b+20>>2]=c+(g<<2);$g(a,b,56,0,20)}return}function ck(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;f=ud(k[c>>2]|0)|0;e=_g(k[c+4>>2]|0)|0;if(!(k[f>>2]|0)){a=f+8|0;if((k[a>>2]|0)>0){b=k[f+20>>2]|0;c=0;do{k[b+(c<<2)>>2]=1;c=c+1|0}while((c|0)<(k[a>>2]|0))}}else{if((e|0)>0){a=k[f+20>>2]|0;c=0;do{b=a+(c<<2)|0;k[b>>2]=(k[b>>2]|0)+1;c=c+1|0}while((c|0)!=(e|0))}a=f+8|0;if((e|0)<(k[a>>2]|0)){b=k[f+24>>2]|0;d=k[f+20>>2]|0;c=e;do{e=b+(c<<2)|0;k[e>>2]=(k[e>>2]|0)+1;k[d+(c<<2)>>2]=1;c=c+1|0}while((c|0)<(k[a>>2]|0))}}k[f>>2]=(k[f>>2]|0)+1;return}function dk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;l=r;r=r+16|0;if((r|0)>=(s|0))ka();j=l;f=ud(k[c>>2]|0)|0;g=f+12|0;c=((k[g>>2]|0)*25|0)+25|0;h=vg(c,((c|0)<0)<<31>>31)|0;if(!h)Wd(a);else{kw(h|0,0,c|0)|0;c=j;k[c>>2]=k[f>>2];k[c+4>>2]=0;fd(24,h,28696,j)|0;c=h;while(1)if(!(i[c>>0]|0))break;else c=c+1|0;if((k[g>>2]|0)>0){d=f+24|0;e=0;b=h+(c-h&1073741823)|0;while(1){m=(k[(k[d>>2]|0)+(e<<2)>>2]|0)+1|0;c=k[f>>2]|0;n=ow(m|0,0,-1,-1)|0;c=ow(n|0,L|0,c|0,0)|0;m=yw(c|0,L|0,m|0,0)|0;c=j;k[c>>2]=m;k[c+4>>2]=L;fd(24,b,28704,j)|0;if(!b)c=0;else{c=b;while(1)if(!(i[c>>0]|0))break;else c=c+1|0;c=c-b&1073741823}e=e+1|0;if((e|0)>=(k[g>>2]|0))break;else b=b+c|0}}$g(a,h,-1,1,1)}r=l;return}function ek(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0;l=r;r=r+144|0;if((r|0)>=(s|0))ka();h=l;j=l+8|0;f=Xg(k[c>>2]|0,1)|0;g=k[(k[a>>2]|0)+32>>2]|0;f=(f|0)==0?10360:f;e=k[g+20>>2]|0;a:do if((e|0)>0){b=k[g+16>>2]|0;c=0;do{d=b+(c<<4)|0;if((k[b+(c<<4)+4>>2]|0)!=0?(id(k[d>>2]|0,f)|0)==0:0)break a;c=c+1|0}while((c|0)<(e|0))}else{c=0;d=0}while(0);do if((c|0)<(e|0)){if((c|0)<2){k[h>>2]=f;fd(128,j,29256,h)|0;m=16;break}if(!(i[g+63>>0]|0)){fd(128,j,29288,h)|0;m=16;break}c=d+4|0;b=k[c>>2]|0;if((i[b+8>>0]|0)==0?(k[b+16>>2]|0)==0:0){Rl(b);k[c>>2]=0;k[d+12>>2]=0;Jg(g);break}k[h>>2]=f;fd(128,j,29336,h)|0;m=16}else{k[h>>2]=f;fd(128,j,29232,h)|0;m=16}while(0);if((m|0)==16){k[a+20>>2]=1;i[a+25>>0]=1;ah(k[a>>2]|0,j,-1,1,-1)|0}r=l;return}function fk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=r;r=r+32|0;if((r|0)>=(s|0))ka();v=z;g=z+20|0;b=z+16|0;f=z+12|0;y=z+8|0;h=z+4|0;x=k[(k[a>>2]|0)+32>>2]|0;k[g>>2]=0;k[b>>2]=0;k[y>>2]=0;u=Xg(k[c>>2]|0,1)|0;o=Xg(k[c+4>>2]|0,1)|0;u=(u|0)==0?10360:u;o=(o|0)==0?10360:o;t=x+20|0;d=k[t>>2]|0;e=k[x+116>>2]|0;a:do if((d|0)<(e+2|0)){if(!(i[x+63>>0]|0)){d=zh(x,29456,v)|0;k[y>>2]=d;b=0;w=42;break}p=x+16|0;e=k[p>>2]|0;b:do if((d|0)>0){c=0;while(1){if(!(id(k[e+(c<<4)>>2]|0,o)|0))break;c=c+1|0;if((c|0)>=(d|0))break b}k[v>>2]=o;d=zh(x,29504,v)|0;k[y>>2]=d;b=0;w=42;break a}while(0);if((e|0)!=(x+456|0)){e=wo(x,e,(d<<4)+16|0,0)|0;if(!e)break;else n=e}else{e=rh(x,48,0)|0;if(!e)break;n=k[p>>2]|0;k[e+0>>2]=k[n+0>>2];k[e+4>>2]=k[n+4>>2];k[e+8>>2]=k[n+8>>2];k[e+12>>2]=k[n+12>>2];k[e+16>>2]=k[n+16>>2];k[e+20>>2]=k[n+20>>2];k[e+24>>2]=k[n+24>>2];k[e+28>>2]=k[n+28>>2];n=e}k[p>>2]=n;j=k[t>>2]|0;l=n+(j<<4)|0;k[l+0>>2]=0;k[l+4>>2]=0;k[l+8>>2]=0;k[l+12>>2]=0;k[f>>2]=k[x+48>>2];e=$n(k[(k[x>>2]|0)+16>>2]|0,u,f,h,g,b)|0;if((e|0)==7)i[x+65>>0]=1;else if(!e){e=k[f>>2]|256;k[f>>2]=e;g=k[g>>2]|0;f=n+(j<<4)+4|0;e=Em(k[h>>2]|0,g,x,f,0,e)|0;$c(g);k[t>>2]=(k[t>>2]|0)+1;if(!e){e=ao(x,k[f>>2]|0)|0;k[n+(j<<4)+12>>2]=e;if(e)if((i[e+76>>0]|0)!=0?(i[e+77>>0]|0)!=(i[x+62>>0]|0):0){e=zh(x,13232,v)|0;k[y>>2]=e;e=1}else e=0;else e=7;b=k[f>>2]|0;c=k[b+4>>2]|0;k[c+4>>2]=k[b>>2];c=k[c>>2]|0;d=i[x+66>>0]|0;do if(!(i[c+12>>0]|0)){h=k[c+208>>2]|0;if((h|0)!=0?(i[h+43>>0]|0)==2:0)break;i[c+4>>0]=d}while(0);c=k[(k[p>>2]|0)+4>>2]|0;if(!c)c=0;else{h=k[c+4>>2]|0;k[h+4>>2]=k[c>>2];c=(m[h+22>>1]|0)>>>2&1}xo(b,c)|0;yo(k[f>>2]|0,k[x+24>>2]&28|3)}else if((e|0)==19){e=zh(x,29536,v)|0;k[y>>2]=e;e=1}i[n+(j<<4)+8>>0]=3;b=ph(x,o)|0;k[l>>2]=b;b=(e|0)==0&(b|0)==0?7:e;if(!b){c=k[t>>2]|0;if((c|0)>0){d=k[p>>2]|0;e=0;do{b=k[d+(e<<4)+4>>2]|0;if(b)k[(k[b+4>>2]|0)+4>>2]=k[b>>2];e=e+1|0}while((e|0)!=(c|0))}b=ci(x,y)|0;if(!b)break}d=(k[t>>2]|0)+-1|0;c=k[(k[p>>2]|0)+(d<<4)+4>>2]|0;if(c){Rl(c);n=k[p>>2]|0;k[n+(d<<4)+4>>2]=0;k[n+(d<<4)+12>>2]=0}Jg(x);k[t>>2]=d;if((b|0)==7|(b|0)==3082){i[x+65>>0]=1;rg(x,k[y>>2]|0);d=zh(x,15776,v)|0;k[y>>2]=d;w=42;break}d=k[y>>2]|0;if(d){w=43;break}k[v>>2]=u;d=zh(x,29568,v)|0;k[y>>2]=d;w=42;break}n=k[b>>2]|0;k[a+20>>2]=1;i[a+25>>0]=1;ah(k[a>>2]|0,n,-1,1,-1)|0;$c(n)}else{k[v>>2]=e;d=zh(x,29416,v)|0;k[y>>2]=d;b=0;w=42}while(0);if((w|0)==42)if(!d){q=b;w=44}else w=43;if((w|0)==43){k[a+20>>2]=1;i[a+25>>0]=1;ah(k[a>>2]|0,d,-1,1,-1)|0;rg(x,k[y>>2]|0);q=b;w=44}if((w|0)==44?(q|0)!=0:0)Ud(a,q);r=z;return}function gk(a){a=a|0;if(a){nk(a,0)|0;$c(k[a+24>>2]|0);zo(a)}return 0}function hk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0;l=a+12|0;f=c&131071;j=b;h=e;i=0;a:while(1){while(1){e=hb(k[l>>2]|0,d|0,0)|0;if(!((e|0)==(d|0)&(((e|0)<0)<<31>>31|0)==(h|0))){d=4;break a}g=fc[k[47552+100>>2]&63](k[l>>2]|0,j,f)|0;if((f|0)==(g|0)){e=i;d=13;break a}if((g|0)>=0){e=g;break}e=Mb()|0;e=k[e>>2]|0;if((e|0)!=4){f=g;d=10;break a}}if((e|0)<=0){f=0;e=i;d=13;break}g=ow(e|0,((e|0)<0)<<31>>31|0,d|0,h|0)|0;f=f-e|0;j=j+e|0;h=L;d=g;i=e+i|0}do if((d|0)==4)if((e|0)==-1){e=Mb()|0;k[a+20>>2]=k[e>>2];e=-1;break}else{k[a+20>>2]=0;e=-1;break}else if((d|0)==10){k[a+20>>2]=e;e=0;d=13}while(0);if((d|0)==13)e=e+f|0;if((e|0)!=(c|0))if((e|0)<0)e=266;else{k[a+20>>2]=0;kw(b+e|0,0,c-e|0)|0;e=522}else e=0;return e|0}function ik(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;a:do if((c|0)>0){g=a+12|0;h=a+20|0;f=c;while(1){c=Ao(k[g>>2]|0,d,e,b,f,h)|0;if((c|0)<=0)break;f=f-c|0;d=ow(c|0,((c|0)<0)<<31>>31|0,d|0,e|0)|0;if((f|0)<=0){c=0;break a}else{b=b+c|0;e=L}}if((c|0)<0?(k[h>>2]|0)!=28:0){c=778;break}k[a+20>>2]=0;c=13}else c=0;while(0);return c|0}function jk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=k[a+40>>2]|0;if((d|0)>0){e=((d|0)<0)<<31>>31;c=ow(b|0,c|0,-1,-1)|0;c=ow(c|0,L|0,d|0,e|0)|0;b=L;d=ww(c|0,b|0,d|0,e|0)|0;d=iw(c|0,b|0,d|0,L|0)|0}else d=b;c=k[a+12>>2]|0;while(1){b=wc[k[47552+76>>2]&127](c,d)|0;if((b|0)>=0){d=6;break}b=Mb()|0;if((k[b>>2]|0)!=4){d=8;break}}if((d|0)==6)if(!b)b=0;else{b=Mb()|0;d=8}if((d|0)==8){k[a+20>>2]=k[b>>2];b=io(1546,47928,k[a+32>>2]|0,29004)|0}return b|0}function kk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;if((r|0)>=(s|0))ka();d=f;if(!(Lb(k[a+12>>2]|0)|0)){e=a+18|0;if(!(j[e>>1]&8))b=0;else{b=wc[k[47552+208>>2]&127](k[a+32>>2]|0,d)|0;c=k[d>>2]|0;if((b|0)==0&(c|0)>-1){Lb(c|0)|0;go(a,k[d>>2]|0,28974);b=0}else b=(b|0)==14?0:b;j[e>>1]=(m[e>>1]|0)&65527}}else{b=Mb()|0;k[a+20>>2]=k[b>>2];b=io(1034,48360,k[a+32>>2]|0,28960)|0}r=f;return b|0}function lk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;d=r;r=r+80|0;if((r|0)>=(s|0))ka();c=d;if(!(wc[k[47552+64>>2]&127](k[a+12>>2]|0,c)|0)){a=k[c+36>>2]|0;e=(a|0)==1;c=b;k[c>>2]=e?0:a;k[c+4>>2]=e?0:((a|0)<0)<<31>>31;c=0}else{c=Mb()|0;k[a+20>>2]=k[c>>2];c=1802}r=d;return c|0}function mk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;d=k[a+24>>2]|0;e=a+16|0;a:do if(!(i[e>>0]|0)){c=wc[k[47552+220>>2]&127](d,511)|0;if((c|0)>=0){i[e>>0]=b;break}d=Mb()|0;d=k[d>>2]|0;switch(d|0){case 1:{c=3;break}case 13:case 37:case 4:case 16:case 110:case 11:case 17:{c=5;break a}default:c=3850}k[a+20>>2]=d}else{i[e>>0]=b;bb(d|0,0)|0;c=0}while(0);return c|0}function nk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;d=k[a+24>>2]|0;e=a+16|0;a:do if((l[e>>0]|0|0)==(b|0))c=0;else{if((b|0)==1){i[e>>0]=1;c=0;break}do if((qc[k[47552+232>>2]&127](d)|0)<0){c=Mb()|0;b=k[c>>2]|0;if((b|0)==20){if((qc[k[47552+196>>2]&127](d)|0)>=0)break;b=k[c>>2]|0}d=(b|0)!=2;c=d?2058:0;if(!d)break a;k[a+20>>2]=b;break a}while(0);i[e>>0]=0;c=0}while(0);return c|0}function ok(a,b){a=a|0;b=b|0;if((l[a+16>>0]|0)>1)a=1;else a=(wc[k[47552+28>>2]&127](k[a+24>>2]|0,0)|0)==0&1;k[b>>2]=a;return 0}function pk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+80|0;if((r|0)>=(s|0))ka();e=j;a:do switch(b|0){case 1:{k[c>>2]=l[a+16>>0];d=0;break}case 10:{Bo(a,4,c);d=0;break}case 13:{Bo(a,16,c);d=0;break}case 20:{d=Co(a)|0;k[c>>2]=d;d=0;break}case 24:{d=0;break}case 16:{d=a+4|0;b=Yc(k[(k[d>>2]|0)+8>>2]|0)|0;if(!b)d=0;else{eo(k[(k[d>>2]|0)+8>>2]|0,b)|0;k[c>>2]=b;d=0}break}case 5:{b=c;c=k[b>>2]|0;b=k[b+4>>2]|0;d=a+40|0;if((k[d>>2]|0)>0){i=a+12|0;if(!(wc[k[47552+64>>2]&127](k[i>>2]|0,e)|0)){d=k[d>>2]|0;g=((d|0)<0)<<31>>31;c=ow(c|0,b|0,-1,-1)|0;c=ow(c|0,L|0,d|0,g|0)|0;h=L;g=ww(c|0,h|0,d|0,g|0)|0;g=iw(c|0,h|0,g|0,L|0)|0;h=L;c=k[e+36>>2]|0;d=((c|0)<0)<<31>>31;do if((h|0)>(d|0)|(h|0)==(d|0)&g>>>0>c>>>0){f=k[e+40>>2]|0;b=c+-1+(f<<1)|0;b=b+~((b|0)%(f|0)|0)|0;c=((b|0)<0)<<31>>31;d=a+20|0;if((c|0)<(h|0)|(c|0)==(h|0)&b>>>0<g>>>0){e=((f|0)<0)<<31>>31;do{a=(Ao(k[i>>2]|0,b,c,10360,1,d)|0)==1;b=ow(b|0,c|0,f|0,e|0)|0;c=L;if(!a){d=778;break a}}while((c|0)<(h|0)|(c|0)==(h|0)&b>>>0<g>>>0);b=ww(g|0,h|0,f|0,e|0)|0;if((b|0)==0&(L|0)==0)break}b=ow(g|0,h|0,-1,-1)|0;if((Ao(k[i>>2]|0,b,L,10360,1,d)|0)!=1){d=778;break a}}while(0);d=0}else d=1802}else d=0;break}case 6:{k[a+40>>2]=k[c>>2];d=0;break}case 12:{k[e>>2]=k[(k[a+4>>2]|0)+16>>2];d=dd(10344,e)|0;k[c>>2]=d;d=0;break}case 4:{k[c>>2]=k[a+20>>2];d=0;break}default:d=12}while(0);r=j;return d|0}function qk(a){a=a|0;return 4096}function rk(a){a=a|0;return (j[a+18>>1]&16)<<8|0}function sk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,l=0;i=k[a+36>>2]|0;f=k[i>>2]|0;l=(1<<c+b)-(1<<b)|0;a:do if(!(d&1)){g=k[f+32>>2]|0;f=(g|0)==0;if(d&4){if(f)d=0;else{d=0;f=g;do{if(l&(m[f+12>>1]|0)){e=5;break a}d=j[f+10>>1]|d;f=k[f+4>>2]|0}while((f|0)!=0)}if((l&(d&65535)|0)==0?(h=Do(a,0,b+120|0,c)|0,(h|0)!=0):0){e=h;break}e=i+10|0;j[e>>1]=m[e>>1]|0|l;e=0;break}if(!f){e=l&65535;d=g;do{if((m[d+12>>1]|0)&e){e=5;break a}if((m[d+10>>1]|0)&e){e=5;break a}d=k[d+4>>2]|0}while((d|0)!=0)}e=Do(a,1,b+120|0,c)|0;if(!e){e=i+12|0;j[e>>1]=m[e>>1]|0|l;e=0}}else{f=k[f+32>>2]|0;if(!f)d=0;else{d=0;do{if((f|0)!=(i|0))d=j[f+10>>1]|d;f=k[f+4>>2]|0}while((f|0)!=0)}if((d&65535&l|0)==0?(e=Do(a,2,b+120|0,c)|0,(e|0)!=0):0)break;d=(l|-65536)^65535;e=i+12|0;j[e>>1]=(m[e>>1]|0)&d;e=i+10|0;j[e>>1]=(m[e>>1]|0)&d;e=0}while(0);return e|0}function tk(a){a=a|0;return}function uk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;e=a+36|0;f=k[e>>2]|0;if(f){g=k[f>>2]|0;c=g+32|0;while(1){d=k[c>>2]|0;if((d|0)==(f|0))break;else c=d+4|0}k[c>>2]=k[f+4>>2];$c(f);k[e>>2]=0;d=g+28|0;c=(k[d>>2]|0)+-1|0;k[d>>2]=c;if(!c){if((b|0)!=0?(k[g+12>>2]|0)>-1:0)qc[k[47552+196>>2]&127](k[g+8>>2]|0)|0;Eo(a)}}return 0}function vk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;k[e>>2]=0;return 0}function wk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return 0}function xk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=r;r=r+16|0;if((r|0)>=(s|0))ka();e=d;k[e>>2]=c;b=vb(a|0,b|0,e|0)|0;r=d;return b|0}function yk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+528|0;if((r|0)>=(s|0))ka();d=g;e=g+8|0;k[d>>2]=a;fd(512,e,10344,d)|0;a=lw(e|0)|0;a:do if((a|0)>1)while(1){c=a+-1|0;if((i[e+a>>0]|0)==47)break a;if((c|0)>1)a=c;else{a=c;break}}while(0);if((a|0)>0){i[e+a>>0]=0;a=fo(e,0,0)|0;k[b>>2]=a;if((a|0)>-1)a=0;else f=7}else{k[b>>2]=-1;f=7}if((f|0)==7){k[d>>2]=28919;k[d+4>>2]=10788;gd(14,14848,d);a=io(14,47896,e,28919)|0}r=g;return a|0}function zk(a,b,c){a=a|0;b=b|0;c=c|0;if(!(Pb()|0))a=Vb(a|0,b|0,c|0)|0;else a=0;return a|0}function Ak(){return Bb(30)|0}function Bk(a){a=a|0;zo(a);return 0}function Ck(a,b){a=a|0;b=b|0;return 0}function Dk(a,b){a=a|0;b=b|0;return 0}function Ek(a,b){a=a|0;b=b|0;k[b>>2]=0;return 0}function Fk(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;ho(a);Hk(a,0)|0;e=k[a+8>>2]|0;if(e){if(k[e+24>>2]|0){b=a+28|0;d=k[b>>2]|0;c=e+28|0;k[d+8>>2]=k[c>>2];k[c>>2]=d;k[a+12>>2]=-1;k[b>>2]=0}c=e+16|0;b=(k[c>>2]|0)+-1|0;k[c>>2]=b;if(!b){Fo(a);f=e+36|0;b=k[f>>2]|0;c=e+32|0;d=k[c>>2]|0;if(!b)k[12178]=d;else k[b+32>>2]=d;b=k[c>>2]|0;if(b)k[b+36>>2]=k[f>>2];$c(e)}}zo(a);return 0}function Gk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0;o=r;r=r+16|0;if((r|0)>=(s|0))ka();h=o;m=a+16|0;c=i[m>>0]|0;a:do if((c&255|0)<(b|0)){g=k[a+8>>2]|0;n=g+12|0;d=i[n>>0]|0;if(c<<24>>24!=d<<24>>24?(d&255)>2|(b|0)>1:0){c=5;break}e=(b|0)==1;do if(e)if((d+-1&255)<2){i[m>>0]=1;c=g+8|0;k[c>>2]=(k[c>>2]|0)+1;c=g+24|0;k[c>>2]=(k[c>>2]|0)+1;c=0;break a}else{d=h+8|0;k[d>>2]=1;j[h+2>>1]=0;l=10;break}else{d=h+8|0;k[d>>2]=1;j[h+2>>1]=0;if((b|0)==4)if((c&255)<3)l=10;else{f=d;l=14}else{e=d;l=24}}while(0);if((l|0)==10){j[h>>1]=e&1^1;k[h+4>>2]=k[2514];if(!(Go(a,h)|0)){f=d;l=14}else{d=Mb()|0;d=k[d>>2]|0;switch(d|0){case 13:case 37:case 4:case 16:case 110:case 11:{c=5;break a}case 1:{c=3;break}default:c=3850}k[a+20>>2]=d;break}}b:do if((l|0)==14)if(e){e=h+4|0;k[e>>2]=(k[2514]|0)+2;k[f>>2]=510;c:do if(!(Go(a,h)|0)){c=0;d=0}else{d=Mb()|0;d=k[d>>2]|0;switch(d|0){case 1:{c=3;d=1;break c}case 13:case 37:case 4:case 16:case 110:case 11:{c=5;break c}default:{c=3850;break c}}}while(0);k[e>>2]=k[2514];k[f>>2]=1;j[h>>1]=2;do if((Go(a,h)|0)!=0&(c|0)==0){d=Mb()|0;c=2058;d=k[d>>2]|0}else{if((c|0)==5){c=5;break a}else if(c)break;i[m>>0]=1;h=g+24|0;k[h>>2]=(k[h>>2]|0)+1;k[g+8>>2]=1;break b}while(0);k[a+20>>2]=d;break a}else{e=f;l=24}while(0);do if((l|0)==24){f=(b|0)==4;if(f)if((k[g+8>>2]|0)>1)c=5;else{j[h>>1]=1;d=k[2514]|0;l=29}else{j[h>>1]=1;d=k[2514]|0;if((b|0)==2){k[h+4>>2]=d+1;d=1;l=30}else l=29}if((l|0)==29){k[h+4>>2]=d+2;d=510;l=30}if((l|0)==30){k[e>>2]=d;if(!(Go(a,h)|0))break;d=Mb()|0;d=k[d>>2]|0;switch(d|0){case 13:case 37:case 4:case 16:case 110:case 11:{c=5;break}case 1:{c=3;l=33;break}default:{c=3850;l=33}}if((l|0)==33)k[a+20>>2]=d;if(!f)break a}i[m>>0]=3;i[n>>0]=3;break a}while(0);c=b&255;i[m>>0]=c;i[n>>0]=c;c=0}else c=0;while(0);r=o;return c|0}function Hk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0;l=r;r=r+16|0;if((r|0)>=(s|0))ka();f=l;g=a+16|0;c=i[g>>0]|0;a:do if((c&255|0)>(b|0)){h=k[a+8>>2]|0;do if((c&255)>1){if((b|0)==1){j[f>>1]=0;e=f+2|0;j[e>>1]=0;c=f+4|0;k[c>>2]=(k[2514]|0)+2;d=f+8|0;k[d>>2]=510;if(Go(a,f)|0){c=Mb()|0;k[a+20>>2]=k[c>>2];c=2314;break a}}else{d=f+8|0;e=f+2|0;c=f+4|0}j[f>>1]=2;j[e>>1]=0;k[c>>2]=k[2514];k[d>>2]=2;if(!(Go(a,f)|0)){i[h+12>>0]=1;break}else{c=Mb()|0;k[a+20>>2]=k[c>>2];c=2058;break a}}while(0);if(!b){d=h+8|0;c=(k[d>>2]|0)+-1|0;k[d>>2]=c;do if(!c){j[f>>1]=2;j[f+2>>1]=0;k[f+8>>2]=0;k[f+4>>2]=0;if(!(Go(a,f)|0)){i[h+12>>0]=0;c=0;break}else{c=Mb()|0;k[a+20>>2]=k[c>>2];i[h+12>>0]=0;i[g>>0]=0;c=2058;break}}else c=0;while(0);e=h+24|0;d=(k[e>>2]|0)+-1|0;k[e>>2]=d;if(!d)Fo(a);if(c)break}i[g>>0]=b;c=0}else c=0;while(0);r=l;return c|0}function Ik(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;if((r|0)>=(s|0))ka();e=g;f=g+8|0;d=k[a+8>>2]|0;h=(l[d+12>>0]|0)>1;c=h&1;do if(!h)if(!(i[d+13>>0]|0)){j[f+2>>1]=0;k[f+4>>2]=(k[2514]|0)+1;k[f+8>>2]=1;j[f>>1]=1;h=k[11910]|0;d=k[a+12>>2]|0;k[e>>2]=f;if(!(fc[h&63](d,12,e)|0)){d=0;c=(j[f>>1]|0)==2?c:1;break}else{d=Mb()|0;k[a+20>>2]=k[d>>2];d=3594;break}}else{d=0;c=0}else{d=0;c=1}while(0);k[b>>2]=c;r=g;return d|0}function Jk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,l=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=r;r=r+160|0;if((r|0)>=(s|0))ka();y=A;t=A+76|0;g=mc[k[47552+292>>2]&7]()|0;if((g|0)<32768)z=1;else z=(g|0)/32768|0;w=a+36|0;g=k[w>>2]|0;a:do if(!g){g=Yc(16)|0;if(!g)f=7;else{k[g+0>>2]=0;k[g+4>>2]=0;k[g+8>>2]=0;k[g+12>>2]=0;q=a+8|0;o=k[q>>2]|0;f=k[o+20>>2]|0;b:do if(!f){p=a+32|0;h=k[p>>2]|0;if((wc[k[47552+64>>2]&127](k[a+12>>2]|0,t)|0)!=0?(i[o+13>>0]|0)==0:0)f=1802;else x=8;c:do if((x|0)==8){f=lw(h|0)|0;l=f+42|0;u=Yc(l)|0;if(u){kw(u|0,0,l|0)|0;n=u+36|0;k[u+8>>2]=n;k[y>>2]=h;fd(f+6|0,n,48720,y)|0;f=u+12|0;k[f>>2]=-1;q=k[q>>2]|0;k[q+20>>2]=u;k[u>>2]=q;k[u+4>>2]=8;if(i[o+13>>0]|0){f=u;break b}if(!(kg(k[p>>2]|0,48728,0)|0))l=66;else{i[u+22>>0]=1;l=0}h=fo(n,l,k[t+12>>2]&511)|0;k[f>>2]=h;if((h|0)<0){k[y>>2]=29706;k[y+4>>2]=10788;gd(14,14848,y);f=io(14,47896,n,29706)|0;break}fc[k[47552+244>>2]&63](h,k[t+20>>2]|0,k[t+24>>2]|0)|0;do if(!(Do(a,1,128,1)|0)){f=k[f>>2]|0;do{h=wc[k[47552+76>>2]&127](f,0)|0;if((h|0)>=0){v=h;x=18;break}t=Mb()|0}while((k[t>>2]|0)==4);if((x|0)==18?(v|0)==0:0)break;f=io(4618,47928,n,29722)|0;if(f)break c}while(0);f=Do(a,0,128,1)|0;if(!f){f=u;break b}}else f=7}while(0);Eo(a);$c(g);if(f)break a;g=k[w>>2]|0;x=24;break a}while(0);k[g>>2]=f;x=f+28|0;k[x>>2]=(k[x>>2]|0)+1;k[a+36>>2]=g;x=f+32|0;k[g+4>>2]=k[x>>2];k[x>>2]=g;x=24}}else x=24;while(0);if((x|0)==24){u=k[g>>2]|0;w=z+b|0;w=w-((w|0)%(z|0)|0)|0;t=u+20|0;d:do if((m[t>>1]|0)<(w|0)){f=ha(w,c)|0;k[u+16>>2]=c;v=u+12|0;g=k[v>>2]|0;e:do if((g|0)>-1){if(wc[k[47552+64>>2]&127](g,y)|0){g=4874;break d}g=k[y+36>>2]|0;if((g|0)<(f|0)){if(!d){g=0;break d}g=(g|0)/4096|0;f=(f|0)/4096|0;if((g|0)<(f|0)){while(1){q=g<<12|4095;g=g+1|0;if((Ao(k[v>>2]|0,q,((q|0)<0)<<31>>31,10360,1,0)|0)!=1)break;if((g|0)>=(f|0))break e}g=io(4874,47976,k[u+8>>2]|0,29853)|0;break d}}}while(0);q=u+24|0;g=ad(k[q>>2]|0,w<<2)|0;if(g){k[q>>2]=g;g=m[t>>1]|0;if((g|0)<(w|0)){n=ha(z,c)|0;o=u+22|0;p=(z|0)>0;while(1){f=k[v>>2]|0;if((f|0)>-1){g=ha(g,c)|0;g=pc[k[47552+256>>2]&7](0,n,(i[o>>0]|0)!=0?1:3,1,f,g)|0;if((g|0)==(-1|0))break}else{g=Yc(c)|0;if(!g){g=7;break d}kw(g|0,0,c|0)|0}h=j[t>>1]|0;if(p){f=h&65535;l=0;do{a=g+(ha(l,c)|0)|0;k[(k[q>>2]|0)+(f+l<<2)>>2]=a;l=l+1|0}while((l|0)!=(z|0))}g=(h&65535)+z|0;j[t>>1]=g;g=g&65535;if((g|0)>=(w|0)){g=0;break d}}g=io(5386,48080,k[u+8>>2]|0,29880)|0}else g=0}else g=3082}else g=0;while(0);if((m[t>>1]|0)>(b|0))f=k[(k[u+24>>2]|0)+(b<<2)>>2]|0;else f=0;k[e>>2]=f;f=(i[u+22>>0]|0)!=0&(g|0)==0?8:g}r=A;return f|0}function Kk(a,b){a=a|0;b=b|0;var c=0;if(b)do{c=b;b=k[b+32>>2]|0;Lk(a,k[c+20>>2]|0);Sk(a,k[c+24>>2]|0);Rk(a,k[c+8>>2]|0,1);Mk(a,k[c+28>>2]|0);rg(a,c)}while((b|0)!=0);return}function Lk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if(b){e=b+4|0;do if(!(k[e>>2]&16384)){Lk(a,k[b+12>>2]|0);Lk(a,k[b+16>>2]|0);c=k[e>>2]|0;if(c&65536){rg(a,k[b+8>>2]|0);c=k[e>>2]|0}d=b+20|0;if(!(c&2048)){Sk(a,k[d>>2]|0);break}else{Rk(a,k[d>>2]|0,1);break}}while(0);if(!(k[e>>2]&32768))rg(a,b)}return}function Mk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if(b){e=b+4|0;c=k[b>>2]|0;if((k[e>>2]|0)>0){d=0;do{rg(a,k[c+(d<<3)>>2]|0);d=d+1|0;c=k[b>>2]|0}while((d|0)<(k[e>>2]|0))}rg(a,c);rg(a,b)}return}function Nk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;o=r;r=r+16|0;if((r|0)>=(s|0))ka();n=o;h=gn(a,b,n)|0;do if(!h)if(c){m=vg(16,0)|0;if(!m)d=c;else{k[m+12>>2]=b;k[m+8>>2]=c;j=a+4|0;f=(k[j>>2]|0)+1|0;k[j>>2]=f;if((f>>>0>9?(e=k[a>>2]|0,f>>>0>e<<1>>>0):0)?(g=f<<4>>>0>1024?128:f<<1,(g|0)!=(e|0)):0){d=k[3164]|0;if(d)sc[d&3]();j=vg(g<<3,0)|0;d=k[3166]|0;if(d)sc[d&3]();if(j){h=a+12|0;$c(k[h>>2]|0);k[h>>2]=j;h=(qc[k[8744+48>>2]&127](j)|0)>>>3;k[a>>2]=h;kw(j|0,0,h<<3|0)|0;c=a+8|0;f=k[c>>2]|0;k[c>>2]=0;if(f)do{g=k[f+12>>2]|0;e=i[g>>0]|0;if(!(e<<24>>24))e=0;else{c=e;e=0;do{g=g+1|0;e=e<<3^e^(l[9328+(c&255)>>0]|0);c=i[g>>0]|0}while(c<<24>>24!=0)}c=f;f=k[f>>2]|0;Ho(a,j+(((e>>>0)%(h>>>0)|0)<<3)|0,c)}while((f|0)!=0);d=i[b>>0]|0;if(!(d<<24>>24))d=0;else{f=d;d=0;do{b=b+1|0;d=d<<3^d^(l[9328+(f&255)>>0]|0);f=i[b>>0]|0}while(f<<24>>24!=0)}k[n>>2]=(d>>>0)%((k[a>>2]|0)>>>0)|0}}d=k[a+12>>2]|0;if(!d)d=0;else d=d+(k[n>>2]<<3)|0;Ho(a,d,m);d=0}}else d=0;else{f=h+8|0;d=k[f>>2]|0;if(c){k[f>>2]=c;k[h+12>>2]=b;break}g=k[n>>2]|0;f=k[h+4>>2]|0;e=k[h>>2]|0;if(!f)k[a+8>>2]=e;else{k[f>>2]=e;e=k[h>>2]|0}if(e)k[e+4>>2]=f;b=k[a+12>>2]|0;if(b){f=b+(g<<3)+4|0;if((k[f>>2]|0)==(h|0))k[f>>2]=e;n=b+(g<<3)|0;k[n>>2]=(k[n>>2]|0)+-1}$c(h);m=a+4|0;n=(k[m>>2]|0)+-1|0;k[m>>2]=n;if(!n)Tl(a)}while(0);r=o;return d|0}function Ok(a,b){a=a|0;b=b|0;Lk(a,k[b+36>>2]|0);rg(a,k[b+16>>2]|0);if(i[b+51>>0]&16)rg(a,k[b+32>>2]|0);rg(a,b);return}function Pk(a,b){a=a|0;b=b|0;var c=0;if(b){c=k[b+28>>2]|0;Lk(a,k[c+20>>2]|0);Sk(a,k[c+24>>2]|0);Rk(a,k[c+8>>2]|0,1);Lk(a,k[b+12>>2]|0);rg(a,b)}return}function Qk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=b+4|0;c=k[e>>2]|0;if(c){b=b+38|0;if((j[b>>1]|0)>0){d=0;while(1){rg(a,k[c>>2]|0);Lk(a,k[c+4>>2]|0);rg(a,k[c+8>>2]|0);rg(a,k[c+12>>2]|0);rg(a,k[c+16>>2]|0);d=d+1|0;if((d|0)>=(j[b>>1]|0))break;else c=c+24|0}c=k[e>>2]|0}rg(a,c)}return}function Rk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(b){d=(c|0)==0;c=b;while(1){b=c;c=k[c+52>>2]|0;Sk(a,k[b>>2]|0);Io(a,k[b+32>>2]|0);Lk(a,k[b+36>>2]|0);Sk(a,k[b+40>>2]|0);Lk(a,k[b+44>>2]|0);Sk(a,k[b+48>>2]|0);Lk(a,k[b+60>>2]|0);Lk(a,k[b+64>>2]|0);Vn(a,k[b+68>>2]|0);if(!d)rg(a,b);if(!c)break;else d=0}}return}function Sk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if(b){c=b+4|0;if((k[b>>2]|0)>0){d=0;e=k[c>>2]|0;while(1){Lk(a,k[e>>2]|0);rg(a,k[e+4>>2]|0);rg(a,k[e+8>>2]|0);d=d+1|0;if((d|0)>=(k[b>>2]|0))break;else e=e+20|0}}rg(a,k[c>>2]|0);rg(a,b)}return}function Tk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=b+60|0;c=k[g>>2]|0;k[g>>2]=0;a:do if(!c)b=0;else{b=0;do{while(1){e=k[c>>2]|0;d=c+24|0;f=c;c=k[d>>2]|0;if((e|0)==(a|0)){b=f;break}e=e+332|0;k[d>>2]=k[e>>2];k[e>>2]=f;if(!c)break a}k[g>>2]=b;k[d>>2]=0}while((c|0)!=0)}while(0);return b|0}function Uk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if((b|0)!=0?(d=b+(c*20|0)|0,(c|0)>0):0){c=b;do{Nn(a,i[c+1>>0]|0,k[c+16>>2]|0);c=c+20|0}while(c>>>0<d>>>0)}rg(a,b);return}function Vk(a,b){a=a|0;b=b|0;do if(!a)b=qc[k[8744+48>>2]&127](b)|0;else{if((k[a+276>>2]|0)>>>0<=b>>>0?(k[a+280>>2]|0)>>>0>b>>>0:0){b=m[a+248>>1]|0;break}b=qc[k[8744+48>>2]&127](b)|0}while(0);a=k[a+520>>2]|0;k[a>>2]=(k[a>>2]|0)+b;return}function Wk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=k[a+(b<<2)>>2]|0;a:do if(!a)a=0;else while(1){b=k[a+24>>2]|0;if((Kc(b,c,d)|0)==0?(i[b+d>>0]|0)==0:0)break a;a=k[a+28>>2]|0;if(!a){a=0;break}}while(0);return a|0}function Xk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=a+12|0;e=k[d>>2]|0;f=e+c|0;if((f|0)<(k[a+16>>2]|0)){k[d>>2]=f;pw((k[a+8>>2]|0)+e|0,b|0,c|0)|0}else Jo(a,b,c);return}function Yk(a){a=a|0;var b=0,c=0;c=a+4|0;b=k[c>>2]|0;if((k[a>>2]|0)>(b|0)){k[c>>2]=b+1;c=_g(k[(k[a+8>>2]|0)+(b<<2)>>2]|0)|0;b=L}else{b=0;c=0}L=b;return c|0}function Zk(a){a=a|0;var b=0,c=0;b=a+4|0;c=k[b>>2]|0;if((k[a>>2]|0)>(c|0)){k[b>>2]=c+1;b=Xg(k[(k[a+8>>2]|0)+(c<<2)>>2]|0,1)|0}else b=0;return b|0}function _k(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;e=a+12|0;g=k[e>>2]|0;g=ow(g|0,((g|0)<0)<<31>>31|0,b|0,((b|0)<0)<<31>>31|0)|0;j=L;f=k[a+16>>2]|0;h=((f|0)<0)<<31>>31;if((j|0)<(h|0)|(j|0)==(h|0)&g>>>0<f>>>0){if((b|0)>0)d=4}else{b=Ko(a,b)|0;if((b|0)>=1)d=4}if((d|0)==4){a=a+8|0;do{b=b+-1|0;d=k[e>>2]|0;k[e>>2]=d+1;i[(k[a>>2]|0)+d>>0]=c}while((b|0)>0)}return}function $k(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+112|0;if((r|0)>=(s|0))ka();g=d+28|0;f=d;e=k[a+88>>2]|0;k[f+4>>2]=g;k[f+8>>2]=g;k[f+12>>2]=0;k[f+16>>2]=70;k[f+20>>2]=e;i[f+24>>0]=1;e=f+25|0;i[e>>0]=0;k[f>>2]=a;xg(f,1,b,c);c=yg(f)|0;if((i[e>>0]|0)==1)i[a+65>>0]=1;r=d;return c|0}function al(a){a=a|0;return qc[k[8744+48>>2]&127](a)|0}function bl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+80|0;if((r|0)>=(s|0))ka();h=i+40|0;e=i;if((b|0)!=0?(d=k[b+20>>2]|0,(d|0)!=0):0){k[h+0>>2]=0;k[h+4>>2]=0;k[h+8>>2]=0;k[h+12>>2]=0;k[h+16>>2]=0;k[h+20>>2]=0;k[h+24>>2]=0;f=e+0|0;g=f+40|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(g|0));j[e+8>>1]=1;c=a+32|0;k[e+32>>2]=k[c>>2];k[h>>2]=e;k[h+8>>2]=a;k[h+4>>2]=b;hc[d&31](h);if((k[a+24>>2]|0)>0)rg(k[c>>2]|0,k[a+20>>2]|0);f=a+0|0;c=e+0|0;g=f+40|0;do{k[f>>2]=k[c>>2];f=f+4|0;c=c+4|0}while((f|0)<(g|0));c=k[h+20>>2]|0}else c=0;r=i;return c|0}function cl(a){a=a|0;var b=0,c=0,d=0;b=k[a>>2]|0;if(b){c=a+4|0;do{d=b;b=k[b>>2]|0;rg(k[c>>2]|0,d)}while((b|0)!=0)}k[a>>2]=0;j[a+24>>1]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+20>>2]=0;j[a+26>>1]=1;return}function dl(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;if((r|0)>=(s|0))ka();f=g;e=g+4|0;b=k[a>>2]|0;c=b+16|0;do if((k[(k[c>>2]|0)+20>>2]|0)==0?(i[a+450>>0]|0)==0:0){d=Em(k[b>>2]|0,0,b,e,0,542)|0;if(d){yh(a,25496,f);k[a+12>>2]=d;b=1;break}d=k[e>>2]|0;k[(k[c>>2]|0)+20>>2]=d;if((Cg(d,k[b+72>>2]|0,-1,0)|0)==7){i[b+65>>0]=1;b=1}else b=0}else b=0;while(0);r=g;return b|0}function el(a){a=a|0;var b=0;do if(a)if((k[3157]|0)>>>0<=a>>>0&(k[3158]|0)>>>0>a>>>0){k[2167]=(k[2167]|0)+-1;k[a>>2]=k[3160];k[3160]=a;a=(k[3161]|0)+1|0;k[3161]=a;k[3162]=(a|0)<(k[3156]|0)&1;break}else{b=qc[k[8744+48>>2]&127](a)|0;k[2168]=(k[2168]|0)-b;$c(a);break}while(0);return}function fl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0;o=r;r=r+16|0;if((r|0)>=(s|0))ka();l=o;h=k[b>>2]|0;if((i[a+15>>0]|0)!=0?(k[a+24>>2]|0)!=0:0)n=12;else n=3;do if((n|0)==3){g=a+204|0;if(((h|0)!=0?(k[(k[g>>2]|0)+12>>2]|0)==0:0)?(m=a+152|0,(h|0)!=(k[m>>2]|0)):0){p=l;k[p>>2]=0;k[p+4>>2]=0;if(((i[a+16>>0]|0)!=0?(e=k[a+60>>2]|0,d=k[e>>2]|0,(d|0)!=0):0)?(f=wc[k[d+24>>2]&127](e,l)|0,(f|0)!=0):0){d=0;c=f}else{d=Lo(h)|0;if(d){Cn(a);e=Mo(k[g>>2]|0,h)|0;if(!e){n=a+200|0;el(k[n>>2]|0);k[n>>2]=d;n=l;l=k[n>>2]|0;n=k[n+4>>2]|0;g=ow(h|0,0,-1,-1)|0;n=ow(g|0,L|0,l|0,n|0)|0;n=vw(n|0,L|0,h|0,0)|0;k[a+24>>2]=n;k[m>>2]=h;n=12;break}else c=e}else{d=0;c=7}}el(d);k[b>>2]=k[m>>2]}else n=12}while(0);if((n|0)==12){k[b>>2]=k[a+152>>2];d=a+142|0;if((c|0)<0)c=j[d>>1]|0;j[d>>1]=c;c=0}r=o;return c|0}function gl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=k[a+4>>2]|0;a:do if(i[a+9>>0]|0){if((k[e+76>>2]|0)!=(a|0)?(j[e+22>>1]&32)!=0:0){d=262;break}d=k[e+72>>2]|0;if(d){while(1){if(((k[d>>2]|0)!=(a|0)?(k[d+4>>2]|0)==(b|0):0)?(i[d+8>>0]|0)!=c<<24>>24:0)break;d=k[d+12>>2]|0;if(!d){d=0;break a}}if(c<<24>>24==2){d=e+22|0;j[d>>1]=m[d>>1]|64;d=262}else d=262}else d=0}else d=0;while(0);return d|0}function hl(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=r;r=r+64|0;if((r|0)>=(s|0))ka();E=F;B=F+28|0;A=F+24|0;h=F+20|0;p=F+48|0;t=F+16|0;u=F+12|0;y=F+8|0;z=F+32|0;if(!((i[a+15>>0]|0)!=0?(b=k[a+40>>2]|0,(b|0)!=0):0))D=3;do if((D|0)==3){C=a+208|0;c=k[C>>2]|0;a:do if(!c){x=a+16|0;do if(!(i[x>>0]|0)){e=a+176|0;d=a+180|0;while(1){b=kl(a,1)|0;if(!b)break;else if((b|0)!=5)break a;if(!(qc[k[e>>2]&127](k[d>>2]|0)|0)){b=5;break a}}q=a+17|0;if((l[q>>0]|0)<2){c=k[a>>2]|0;k[E>>2]=1;f=a+64|0;g=(k[k[f>>2]>>2]|0)!=0;if(g){e=1;b=0}else{b=uc[k[c+32>>2]&31](c,k[a+172>>2]|0,0,E)|0;e=(k[E>>2]|0)!=0}b:do if((b|0)==0&e){k[B>>2]=0;d=a+60|0;b=k[d>>2]|0;b=wc[k[(k[b>>2]|0)+36>>2]&127](b,B)|0;if(!(k[B>>2]|b)){b=No(a,A)|0;if(!b){if((k[A>>2]|0)!=0|g){do if(!g){k[h>>2]=2049;b=yc[k[c+24>>2]&31](c,k[a+172>>2]|0,k[f>>2]|0,2049,h)|0;if(!b)break;else if((b|0)!=14){e=0;break b}e=1;b=0;break b}while(0);i[p>>0]=0;b=k[f>>2]|0;b=yc[k[(k[b>>2]|0)+8>>2]&31](b,p,1,0,0)|0;b=(b|0)==522?0:b;if(!g?(n=k[f>>2]|0,o=k[n>>2]|0,(o|0)!=0):0){qc[k[o+4>>2]&127](n)|0;k[n>>2]=0}e=(i[p>>0]|0)!=0&1;break}e=k[3164]|0;if(e)sc[e&3]();do if(((kl(a,2)|0)==0?(fc[k[c+28>>2]&63](c,k[a+172>>2]|0,0)|0,(i[a+4>>0]|0)==0):0)?(j=k[d>>2]|0,m=k[j>>2]|0,(m|0)!=0):0){if(!(i[a+13>>0]|0))wc[k[m+32>>2]&127](j,1)|0;if((i[q>>0]|0)==5)break;i[q>>0]=1}while(0);e=k[3166]|0;if(!e){e=0;b=0}else{sc[e&3]();e=0;b=0}}else e=0}else e=0}else e=0;while(0);if(b)break a;if(e)D=35}else D=35;do if((D|0)==35){if(i[a+14>>0]|0){b=776;break a}b=kl(a,4)|0;if(b)break a;c=a+64|0;if(!(k[k[c>>2]>>2]|0)){e=k[a>>2]|0;d=a+172|0;b=uc[k[e+32>>2]&31](e,k[d>>2]|0,0,t)|0;if((b|0)==0&(k[t>>2]|0)!=0){k[u>>2]=0;b=yc[k[e+24>>2]&31](e,k[d>>2]|0,k[c>>2]|0,2050,u)|0;if(!b)if(k[u>>2]&1){k[E>>2]=46645;k[E+4>>2]=10788;gd(14,14848,E);e=k[c>>2]|0;d=k[e>>2]|0;if(!d)b=14;else{qc[k[d+4>>2]&127](e)|0;k[e>>2]=0;b=14}}else b=0}}else b=0;if(!(k[k[c>>2]>>2]|0))if((i[a+4>>0]|0)==0?(v=k[a+60>>2]|0,w=k[v>>2]|0,(w|0)!=0):0){if(!(i[a+13>>0]|0))wc[k[w+32>>2]&127](v,1)|0;if((i[q>>0]|0)!=5){i[q>>0]=1;D=52}else D=52}else D=52;else{b=Oo(a)|0;if(!b){b=Po(a,1)|0;i[x>>0]=0;D=52}}if((D|0)==52)if(!b)break;B=b&255;if(!((B|0)==10|(B|0)==13))break a;k[a+40>>2]=b;i[x>>0]=6;break a}while(0);e=a+12|0;if((i[e>>0]|0)==0?(i[a+23>>0]|0)!=0:0){k[y>>2]=0;b=No(a,y)|0;if(b)break a;if(k[y>>2]|0){b=k[a+60>>2]|0;b=yc[k[(k[b>>2]|0)+8>>2]&31](b,z,16,24,0)|0;if(!((b|0)==0|(b|0)==522))break a}else{d=z+0|0;c=d+16|0;do{i[d>>0]=0;d=d+1|0}while((d|0)<(c|0))}if(cw(a+104|0,z,16)|0)Cn(a)}if(!(i[e>>0]|0)){b=No(a,A)|0;if(!b){d=k[a>>2]|0;c=k[a+212>>2]|0;if(!(k[A>>2]|0)){b=fc[k[d+28>>2]&63](d,c,0)|0;k[B>>2]=0;if((b|0)!=5898)D=68}else{b=uc[k[d+32>>2]&31](d,c,0,B)|0;D=68}if((D|0)==68){if(b)break;if(k[B>>2]|0){b=jl(a,0)|0;break}}b=a+5|0;if((i[b>>0]|0)==5){i[b>>0]=0;b=0}else b=0}}else b=0}else b=0;while(0);c=k[C>>2]|0;if(!c)D=78;else D=74}else D=74;while(0);if((D|0)==74){k[E>>2]=0;Qo(c);c=k[C>>2]|0;d=0;do{d=d+1|0;b=Ro(c,E,0,d)|0}while((b|0)==-1);if(!(k[E>>2]|b))D=78;else{Cn(a);D=78}}if((D|0)==78){if((i[a+16>>0]|0)==0&(b|0)==0)b=No(a,a+24|0)|0;if(!b){i[a+16>>0]=1;b=0;break}}So(a)}while(0);r=F;return b|0}function il(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;f=r;r=r+16|0;if((r|0)>=(s|0))ka();e=f;d=Eg(k[a>>2]|0,b,e,d)|0;if(!d){e=k[e>>2]|0;d=k[e+8>>2]|0;k[d+56>>2]=k[e+4>>2];k[d+68>>2]=e;k[d+52>>2]=a;k[d+72>>2]=b;i[d+6>>0]=(b|0)==1?100:0;k[c>>2]=d;d=0}r=f;return d|0}function jl(a,b){a=a|0;b=b|0;var c=0,d=0;do if((i[a+12>>0]|0)==0?(k[a+208>>2]|0)==0:0){b=k[k[a+60>>2]>>2]|0;if(!(i[a+4>>0]|0)){if((k[b>>2]|0)<=1){b=14;break}if(!(k[b+52>>2]|0)){b=14;break}}b=k[a+64>>2]|0;c=k[b>>2]|0;if(c){qc[k[c+4>>2]&127](b)|0;k[b>>2]=0}b=un(a)|0;if(!b){i[a+5>>0]=5;i[a+16>>0]=0;b=0}}else d=10;while(0);if((d|0)==10){k[b>>2]=1;b=0}return b|0}function kl(a,b){a=a|0;b=b|0;var c=0,d=0;d=a+17|0;c=i[d>>0]|0;do if((c&255|0)<(b|0)|c<<24>>24==5){if(!(i[a+13>>0]|0)){c=k[a+60>>2]|0;c=wc[k[(k[c>>2]|0)+28>>2]&127](c,b)|0;if(c)break;c=i[d>>0]|0}if(c<<24>>24!=5|(b|0)==4){i[d>>0]=b;c=0}else c=0}else c=0;while(0);return c|0}function ll(a){a=a|0;var b=0,c=0,d=0;b=k[a+4>>2]|0;a=k[b+444>>2]|0;if((a|0)!=0?(d=b+452|0,c=k[d>>2]|0,(c|0)>=0):0){a=wc[a&127](k[b+448>>2]|0,c)|0;if(!a)b=-1;else b=(k[d>>2]|0)+1|0;k[d>>2]=b}else a=0;return a|0}function ml(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;n=a+96|0;c=k[n>>2]|0;a:do if((c|0)<(b|0)?(i[a+6>>0]|0)!=0:0){d=a+92|0;q=wg(k[d>>2]|0,b*48|0,0)|0;if(!q)c=7;else{kw(q+(c*48|0)|0,0,(b-c|0)*48|0)|0;k[d>>2]=q;g=a+24|0;h=a+64|0;j=a+148|0;l=a+52|0;m=a+208|0;f=a+72|0;while(1){e=k[g>>2]|0;a=q+(c*48|0)|0;k[q+(c*48|0)+20>>2]=e;if((k[k[h>>2]>>2]|0)!=0?(p=f,o=k[p>>2]|0,p=k[p+4>>2]|0,(p|0)>0|(p|0)==0&o>>>0>0):0){k[a>>2]=o;k[a+4>>2]=p}else{k[a>>2]=k[j>>2];k[a+4>>2]=0}k[q+(c*48|0)+24>>2]=k[l>>2];d=vg(512,0)|0;if(!d)break;kw(d|0,0,512)|0;k[d>>2]=e;k[q+(c*48|0)+16>>2]=d;d=k[m>>2]|0;if(d){k[q+(c*48|0)+28>>2]=k[d+68>>2];k[q+(c*48|0)+32>>2]=k[d+76>>2];k[q+(c*48|0)+36>>2]=k[d+80>>2];k[q+(c*48|0)+40>>2]=k[d+104>>2]}c=c+1|0;k[n>>2]=c;if((c|0)>=(b|0)){c=0;break a}}k[q+(c*48|0)+16>>2]=d;c=7}}else c=0;while(0);return c|0}function nl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;do if(c){d=k[c+4>>2]|0;if(!(k[d>>2]|0)){d=To(a,b,c)|0;break}c=d+26|0;e=j[c>>1]|0;if(!(e<<16>>16)){f=a+12|0;k[f>>2]=(k[f>>2]|0)+1}j[c>>1]=e+1<<16>>16;if((b|0)==1)k[a+44>>2]=d}else d=0;while(0);return d|0}function ol(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=a+96|0;c=k[g>>2]|0;if((c|0)>0){f=a+92|0;e=0;a=0;do{d=k[f>>2]|0;if((k[d+(e*48|0)+20>>2]|0)>>>0>=b>>>0){a=gi(k[d+(e*48|0)+16>>2]|0,b)|0|a;c=k[g>>2]|0}e=e+1|0}while((e|0)<(c|0))}else a=0;return a|0}function pl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,l=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0,w=0,x=0,y=0;y=r;r=r+32|0;if((r|0)>=(s|0))ka();w=y;q=y+16|0;t=y+12|0;v=y+8|0;o=k[a+68>>2]|0;a:do if((o|0)!=0?(j[a+40>>1]|0)!=0:0){p=b*383&8191;u=(o+33|0)>>>12;b:while(1){d=Uo(a,u,q,t,v)|0;if(d)break a;d=(k[q>>2]|0)+(p<<1)|0;if(!(j[d>>1]|0))d=0;else{i=k[v>>2]|0;l=k[q>>2]|0;n=k[t>>2]|0;f=d;g=p;d=0;h=8192;while(1){e=(m[f>>1]|0)+i|0;if(e>>>0<=o>>>0)d=(k[n+(m[f>>1]<<2)>>2]|0)==(b|0)?e:d;if(!h){x=11;break b}g=g+1&8191;f=l+(g<<1)|0;if(!(j[f>>1]|0))break;else h=h+-1|0}}if((u|0)>0&(d|0)==0)u=u+-1|0;else{x=14;break}}if((x|0)==11){k[w>>2]=51262;k[w+4>>2]=10788;gd(11,13600,w);d=11;break}else if((x|0)==14){k[c>>2]=d;d=0;break}}else x=3;while(0);if((x|0)==3){k[c>>2]=0;d=0}r=y;return d|0}function ql(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;e=k[a+16>>2]|0;f=k[a+20>>2]|0;c=k[e+152>>2]|0;a=a+4|0;d=k[a>>2]|0;if(!b){b=xw(f+-1|0,0,c|0,((c|0)<0)<<31>>31|0)|0;g=k[e+60>>2]|0;b=yc[k[(k[g>>2]|0)+8>>2]&31](g,d,c,b,L)|0;b=(b|0)==522?0:b}else{h=k[e+208>>2]|0;g=m[h+66>>1]|0;g=g<<16&65536|g&65024;b=xw(g|24|0,0,b+-1|0,0)|0;b=ow(b|0,L|0,56,0)|0;h=k[h+8>>2]|0;b=yc[k[(k[h>>2]|0)+8>>2]&31](h,d,(g|0)<(c|0)?g:c,b,L)|0}do if((f|0)==1)if(!b){d=e+104|0;c=(k[a>>2]|0)+24|0;a=d+16|0;do{i[d>>0]=i[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(a|0));break}else{d=e+104|0;a=d+16|0;do{i[d>>0]=255;d=d+1|0}while((d|0)<(a|0));break}while(0);return b|0}function rl(a){a=a|0;var b=0,c=0;if(j[a+24>>1]&2)Vo(a,1);b=k[a+28>>2]|0;c=b+12|0;k[c>>2]=(k[c>>2]|0)+-1;if((k[a+20>>2]|0)==1)k[b+44>>2]=0;rc[k[8744+136>>2]&63](k[b+40>>2]|0,k[a>>2]|0,1);return}function sl(a){a=a|0;var b=0;b=i[a+16>>0]|0;do if(!(b<<24>>24==0|b<<24>>24==6)){if((b&255)<=1){if(i[a+4>>0]|0)break;Hl(a,0,0)|0;break}b=k[3164]|0;if(b)sc[b&3]();Ml(a)|0;b=k[3166]|0;if(b)sc[b&3]()}while(0);So(a);return}function tl(a){a=a|0;var b=0,c=0;c=a+26|0;b=(j[c>>1]|0)+-1<<16>>16;j[c>>1]=b;do if(!(b<<16>>16)){b=k[a+28>>2]|0;c=b+12|0;k[c>>2]=(k[c>>2]|0)+-1;if(j[a+24>>1]&2){if(!(k[a+36>>2]|0))break;Vo(a,3);break}if(i[b+28>>0]|0){if((k[a+20>>2]|0)==1)k[b+44>>2]=0;rc[k[8744+136>>2]&63](k[b+40>>2]|0,k[a>>2]|0,0)}}while(0);return}function ul(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;f=k[a+56>>2]|0;g=k[a+52>>2]|0;c=l[a+6>>0]|0;d=f+c|0;e=g+36|0;if(j[g+22>>1]&4)kw(d|0,0,(k[e>>2]|0)-c|0)|0;i[d>>0]=b;d=c+(b>>>1&4^12)|0;h=f+(c+1)|0;i[h>>0]=0;i[h+1>>0]=0;i[h+2>>0]=0;i[h+3>>0]=0;i[f+(c+7)>>0]=0;i[f+(c+5)>>0]=(k[e>>2]|0)>>>8;i[f+(c+6)>>0]=k[e>>2];j[a+16>>1]=(k[e>>2]|0)-d;Wo(a,b)|0;j[a+14>>1]=d;k[a+60>>2]=f+(k[e>>2]|0);k[a+64>>2]=f+(d&65535);i[a+1>>0]=0;j[a+20>>1]=(k[g+32>>2]|0)+65535;j[a+18>>1]=0;i[a>>0]=1;return}function vl(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+32|0;if((r|0)>=(s|0))ka();e=f+16|0;d=f;b=a+8|0;k[e+0>>2]=k[b+0>>2];k[e+4>>2]=k[b+4>>2];k[e+8>>2]=k[b+8>>2];k[e+12>>2]=k[b+12>>2];c=a+40|0;k[d+0>>2]=k[c+0>>2];k[d+4>>2]=k[c+4>>2];k[d+8>>2]=k[c+8>>2];k[d+12>>2]=k[c+12>>2];k[c+0>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;k[c+12>>2]=0;Tl(a+24|0);c=k[d+8>>2]|0;if(c)do{og(0,k[c+8>>2]|0);c=k[c>>2]|0}while((c|0)!=0);Tl(d);k[b+0>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;b=k[e+8>>2]|0;if(b)do{pg(0,k[b+8>>2]|0);b=k[b>>2]|0}while((b|0)!=0);Tl(e);Tl(a+56|0);k[a+72>>2]=0;b=a+78|0;c=j[b>>1]|0;if(c&1){d=a+4|0;k[d>>2]=(k[d>>2]|0)+1;j[b>>1]=c&65534}r=f;return}function wl(a){a=a|0;var b=0,c=0;c=a+332|0;b=k[c>>2]|0;k[c>>2]=0;if(b){a=k[a+4>>2]|0;if(a)do{c=a+88|0;j[c>>1]=j[c>>1]|8;a=k[a+52>>2]|0}while((a|0)!=0);do{a=b;b=k[b+24>>2]|0;Fn(a)}while((b|0)!=0)}return}function xl(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;f=a+20|0;b=k[f>>2]|0;i=a+16|0;c=k[i>>2]|0;if((b|0)>2){e=2;d=2;do{b=c+(e<<4)|0;if(!(k[c+(e<<4)+4>>2]|0)){rg(a,k[b>>2]|0);k[b>>2]=0}else{if((d|0)<(e|0)){c=c+(d<<4)|0;k[c+0>>2]=k[b+0>>2];k[c+4>>2]=k[b+4>>2];k[c+8>>2]=k[b+8>>2];k[c+12>>2]=k[b+12>>2]}d=d+1|0}e=e+1|0;b=k[f>>2]|0;c=k[i>>2]|0}while((e|0)<(b|0))}else d=2;kw(c+(d<<4)|0,0,b-d<<4|0)|0;k[f>>2]=d;if((d|0)<3?(g=k[i>>2]|0,h=a+456|0,(g|0)!=(h|0)):0){k[h+0>>2]=k[g+0>>2];k[h+4>>2]=k[g+4>>2];k[h+8>>2]=k[g+8>>2];k[h+12>>2]=k[g+12>>2];k[h+16>>2]=k[g+16>>2];k[h+20>>2]=k[g+20>>2];k[h+24>>2]=k[g+24>>2];k[h+28>>2]=k[g+28>>2];rg(a,g);k[i>>2]=h}return}function yl(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0;v=r;r=r+16|0;if((r|0)>=(s|0))ka();q=v;n=k[a+16>>2]|0;p=n+152|0;d=((k[n+148>>2]|0)>>>0)/((k[p>>2]|0)>>>0)|0;u=n+20|0;i[u>>0]=l[u>>0]|0|4;h=a+20|0;e=k[h>>2]|0;a=e+-1&0-d;t=a+1|0;c=~a;b=k[n+24>>2]|0;if(e>>>0<=b>>>0){if((a+d|0)>>>0>b>>>0)d=b+1+c|0}else d=e+1+c|0;a:do if((d|0)>0){g=n+56|0;o=n+204|0;f=0;a=0;while(1){c=f+t|0;if((c|0)!=(e|0)?(ii(k[g>>2]|0,c)|0)!=0:0){e=fc[k[8744+132>>2]&63](k[(k[o>>2]|0)+40>>2]|0,c,0)|0;c=nl(k[o>>2]|0,c,e)|0;k[q>>2]=c;if(!c)b=0;else{a=(j[c+24>>1]&4)==0?a:1;Gg(c);b=0}}else if((c|0)==(((k[2514]|0)/(k[p>>2]|0)|0)+1|0))b=0;else{b=Eg(n,c,q,0)|0;if(b)break a;e=k[q>>2]|0;b=zl(e)|0;a=(j[e+24>>1]&4)==0?a:1;Gg(e)}f=f+1|0;c=(b|0)==0;if(!((f|0)<(d|0)&c))break;e=k[h>>2]|0}if(c&(a|0)!=0){a=0;do{n=a+t|0;b=fc[k[8744+132>>2]&63](k[(k[o>>2]|0)+40>>2]|0,n,0)|0;b=nl(k[o>>2]|0,n,b)|0;if(b){n=b+24|0;j[n>>1]=m[n>>1]|0|4;Gg(b)}a=a+1|0}while((a|0)!=(d|0));b=0}}else b=0;while(0);i[u>>0]=(l[u>>0]|0)&251;r=v;return b|0}function zl(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=r;r=r+16|0;if((r|0)>=(s|0))ka();z=B+4|0;o=B;A=k[a+16>>2]|0;u=A+16|0;a:do if((i[u>>0]|0)==2){n=k[A>>2]|0;d=k[A+40>>2]|0;if(!d){do if((k[A+208>>2]|0)==0?(g=A+5|0,(i[g>>0]|0)!=2):0){h=A+24|0;d=k[h>>2]|0;c=vg(512,0)|0;if(!c){k[A+56>>2]=0;b=7;break a}kw(c|0,0,512)|0;k[c>>2]=d;p=A+56|0;k[p>>2]=c;e=A+64|0;f=k[e>>2]|0;do if(!(k[f>>2]|0)){if((i[g>>0]|0)==4){d=f+0|0;c=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(c|0));k[f>>2]=14696;t=17;break}c=i[A+12>>0]|0;k[o>>2]=0;if((c<<24>>24==0?(k[h>>2]|0)!=0:0)?(b=k[A+60>>2]|0,b=fc[k[(k[b>>2]|0)+40>>2]&63](b,20,o)|0,(b|0)!=12):0){d=(b|0)==0;if(d&(k[o>>2]|0)!=0){b=1032;break}if(d)t=15}else t=15;if((t|0)==15)b=yc[k[n+24>>2]&31](n,k[A+172>>2]|0,k[e>>2]|0,c<<24>>24!=0?4110:2054,0)|0;if(!b)t=17}else t=17;while(0);if((t|0)==17){k[A+44>>2]=0;b=A+72|0;i[A+19>>0]=0;k[b+0>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;b=Xo(A)|0;if(!b)break}ji(k[p>>2]|0);k[p>>2]=0;if(!b){t=20;break a}else break a}while(0);i[u>>0]=3;t=20}else b=d}else t=20;while(0);b:do if((t|0)==20){Yo(a);v=A+56|0;w=a+20|0;f=k[w>>2]|0;do if(!(ii(k[v>>2]|0,f)|0))if(!(k[A+208>>2]|0)){if(f>>>0<=(k[A+28>>2]|0)>>>0?(y=A+64|0,x=k[y>>2]|0,(k[x>>2]|0)!=0):0){t=A+72|0;g=t;p=k[g>>2]|0;g=k[g+4>>2]|0;q=k[a+4>>2]|0;d=k[A+48>>2]|0;u=A+152|0;e=(k[u>>2]|0)+-200|0;if((e|0)>0)do{d=(l[q+e>>0]|0)+d|0;e=e+-200|0}while((e|0)>0);o=a+24|0;j[o>>1]=m[o>>1]|4;i[z>>0]=f>>>24;o=z+1|0;i[o>>0]=f>>>16;n=z+2|0;i[n>>0]=f>>>8;h=z+3|0;i[h>>0]=f;b=yc[k[(k[x>>2]|0)+12>>2]&31](x,z,4,p,g)|0;if(b)break b;f=k[y>>2]|0;b=k[u>>2]|0;c=ow(p|0,g|0,4,0)|0;e=L;b=yc[k[(k[f>>2]|0)+12>>2]&31](f,q,b,c,e)|0;if(b)break b;p=k[y>>2]|0;b=k[u>>2]|0;b=ow(c|0,e|0,b|0,((b|0)<0)<<31>>31|0)|0;i[z>>0]=d>>>24;i[o>>0]=d>>>16;i[n>>0]=d>>>8;i[h>>0]=d;b=yc[k[(k[p>>2]|0)+12>>2]&31](p,z,4,b,L)|0;if(b)break b;b=(k[u>>2]|0)+8|0;p=t;p=ow(b|0,((b|0)<0)<<31>>31|0,k[p>>2]|0,k[p+4>>2]|0)|0;b=t;k[b>>2]=p;k[b+4>>2]=L;b=A+44|0;k[b>>2]=(k[b>>2]|0)+1;b=gi(k[v>>2]|0,k[w>>2]|0)|0;b=ol(A,k[w>>2]|0)|0|b;if(!b){t=34;break}else break b}if((i[u>>0]|0)!=4){t=a+24|0;j[t>>1]=m[t>>1]|4;t=34}else t=34}else t=34;else if((k[A+96>>2]|0)!=0?(Zo(a)|0)!=0:0)t=34;else b=0;while(0);if((t|0)==34)if((k[A+96>>2]|0)>0?(Zo(a)|0)!=0:0)b=_o(a)|0;else b=0;d=A+24|0;c=k[w>>2]|0;if((k[d>>2]|0)>>>0<c>>>0)k[d>>2]=c}while(0);r=B;return b|0}function Al(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+128|0;if((r|0)>=(s|0))ka();h=i;d=k[a>>2]|0;c=(d|0)==0;if(!c){b=d;do{a=b;b=k[b+32>>2]|0;k[a+12>>2]=b}while((b|0)!=0);b=h+0|0;a=b+128|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(a|0));if(c)a=0;else{f=h+124|0;do{b=d+12|0;a=d;d=k[b>>2]|0;k[b>>2]=0;b=0;do{e=h+(b<<2)|0;c=k[e>>2]|0;if(!c){c=e;g=8;break}a=$o(c,a)|0;k[e>>2]=0;b=b+1|0}while((b|0)<31);if((g|0)==8){g=0;k[c>>2]=a}if((b|0)==31){a=$o(k[f>>2]|0,a)|0;k[f>>2]=a}}while((d|0)!=0);a=k[h>>2]|0}}else{b=h+0|0;a=b+128|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(a|0));a=0}b=1;do{a=$o(a,k[h+(b<<2)>>2]|0)|0;b=b+1|0}while((b|0)!=32);r=i;return a|0}function Bl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=r;r=r+80|0;if((r|0)>=(s|0))ka();n=I+32|0;o=I+28|0;z=I;q=I+40|0;G=I+24|0;k[G>>2]=b;w=(d|0)==0;if(!w){k[G>>2]=b;if(!b){b=0;h=0}else{h=0;g=G;do{x=(k[b+20>>2]|0)>>>0>c>>>0;D=b+12|0;h=h+(x&1^1)|0;g=x?g:D;b=k[D>>2]|0;k[g>>2]=b}while((b|0)!=0);b=k[G>>2]|0}}else h=1;D=a+192|0;k[D>>2]=(k[D>>2]|0)+h;if((k[b+20>>2]|0)==1)Dl(b);E=k[a+208>>2]|0;F=k[a+152>>2]|0;p=i[a+10>>0]|0;x=p&255;f=E+40|0;if(!(j[f>>1]|0)){do if(k[(k[k[E+32>>2]>>2]|0)+96>>2]|0){hd(4,n);g=E+43|0;if(!(i[g>>0]|0)){h=k[E+4>>2]|0;h=uc[k[(k[h>>2]|0)+56>>2]&31](h,4,4,10)|0;if((h|0)==5){h=g;y=14;break}else if(h)break}ap(E,k[n>>2]|0);if(!(i[g>>0]|0)){h=k[E+4>>2]|0;uc[k[(k[h>>2]|0)+56>>2]&31](h,4,4,9)|0;h=g;y=14}else{h=g;y=14}}else{h=E+43|0;y=14}while(0);if((y|0)==14){if(!(i[h>>0]|0)){D=k[E+4>>2]|0;uc[k[(k[D>>2]|0)+56>>2]&31](D,3,1,5)|0}j[f>>1]=-1;g=0;do{g=g+1|0;h=Ro(E,o,1,g)|0}while((h|0)==-1)}if(h)e=h;else y=19}else y=19;a:do if((y|0)==19){D=E+68|0;o=k[D>>2]|0;if(!o){i[q>>0]=55;i[q+1>>0]=127;i[q+2>>0]=6;i[q+3>>0]=-126;i[q+4>>0]=0;i[q+5>>0]=45;i[q+6>>0]=-30;i[q+7>>0]=24;i[q+8>>0]=F>>>24;i[q+9>>0]=F>>>16;i[q+10>>0]=F>>>8;i[q+11>>0]=F;v=k[E+104>>2]|0;i[q+12>>0]=v>>>24;i[q+13>>0]=v>>>16;i[q+14>>0]=v>>>8;i[q+15>>0]=v;if(!v)hd(8,E+84|0);f=E+84|0;h=f;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;f=f+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;n=q+16|0;g=n;i[g>>0]=h;i[g+1>>0]=h>>8;i[g+2>>0]=h>>16;i[g+3>>0]=h>>24;n=n+4|0;i[n>>0]=f;i[n+1>>0]=f>>8;i[n+2>>0]=f>>16;i[n+3>>0]=f>>24;n=q+24|0;f=q;g=0;h=0;do{g=g+h+(k[f>>2]|0)|0;h=g+h+(k[f+4>>2]|0)|0;f=f+8|0}while(f>>>0<n>>>0);i[n>>0]=g>>>24;i[q+25>>0]=g>>>16;i[q+26>>0]=g>>>8;i[q+27>>0]=g;i[q+28>>0]=h>>>24;i[q+29>>0]=h>>>16;i[q+30>>0]=h>>>8;i[q+31>>0]=h;k[E+36>>2]=F;i[E+65>>0]=0;k[E+76>>2]=g;k[E+80>>2]=h;i[E+47>>0]=1;g=E+8|0;h=k[g>>2]|0;h=yc[k[(k[h>>2]|0)+12>>2]&31](h,q,32,0,0)|0;if(h){e=h;break}if((i[E+48>>0]|0)!=0&p<<24>>24!=0?(e=k[g>>2]|0,e=wc[k[(k[e>>2]|0)+20>>2]&127](e,x&19)|0,(e|0)!=0):0)break}else g=E+8|0;k[z>>2]=E;q=k[g>>2]|0;k[z+4>>2]=q;t=z+8|0;u=t;k[u>>2]=0;k[u+4>>2]=0;k[z+16>>2]=x;k[z+20>>2]=F;u=F+24|0;v=((u|0)<0)<<31>>31;h=xw(o|0,0,u|0,v|0)|0;h=ow(h|0,L|0,32,0)|0;e=L;if(!b){f=h;p=0}else{m=e;f=o;p=b;while(1){o=f+1|0;if(w)f=0;else f=(k[p+12>>2]|0)==0?c:0;e=bp(z,p,f,h,m)|0;if(e)break a;h=ow(h|0,m|0,u|0,v|0)|0;e=L;n=k[p+12>>2]|0;if(!n){f=h;break}else{m=e;f=o;p=n}}}w=(d|0)!=0;do if(!((x&32|0)==0|w^1)){if(!(i[E+49>>0]|0)){g=0;e=wc[k[(k[q>>2]|0)+20>>2]&127](q,x&19)|0;break}h=k[g>>2]|0;g=k[(k[h>>2]|0)+44>>2]|0;if(g){h=qc[g&127](h)|0;if((h|0)<32){g=512;h=0}else y=37}else{h=4096;y=37}if((y|0)==37){y=(h|0)>65536;g=y?65536:h;h=y?0:((h|0)<0)<<31>>31}y=ow(f|0,e|0,-1,-1)|0;y=ow(y|0,L|0,g|0,h|0)|0;n=L;m=ww(y|0,n|0,g|0,h|0)|0;m=iw(y|0,n|0,m|0,L|0)|0;n=L;y=t;k[y>>2]=m;k[y+4>>2]=n;if((e|0)<(n|0)|(e|0)==(n|0)&f>>>0<m>>>0){h=e;g=0;while(1){e=bp(z,p,c,f,h)|0;if(e)break a;f=ow(f|0,h|0,u|0,v|0)|0;h=L;g=g+1|0;if(!((h|0)<(n|0)|(h|0)==(n|0)&f>>>0<m>>>0)){e=0;break}}}else{g=0;e=0}}else{g=0;e=0}while(0);if((w?(A=E+47|0,(i[A>>0]|0)!=0):0)?(C=E+16|0,B=k[C>>2]|0,C=k[C+4>>2]|0,(C|0)>-1|(C|0)==-1&B>>>0>4294967295):0){d=xw(g+o|0,0,u|0,v|0)|0;d=ow(d|0,L|0,32,0)|0;z=L;y=(z|0)>(C|0)|(z|0)==(C|0)&d>>>0>B>>>0;cp(E,y?d:B,y?z:C);i[A>>0]=0}f=k[D>>2]|0;if((b|0)!=0&(e|0)==0)do{f=f+1|0;e=dp(E,f,k[b+20>>2]|0)|0;b=k[b+12>>2]|0}while((b|0)!=0&(e|0)==0);b=(e|0)==0;if(b&(g|0)>0){h=p+20|0;do{f=f+1|0;g=g+-1|0;e=dp(E,f,k[h>>2]|0)|0;b=(e|0)==0}while(b&(g|0)>0)}if(b){j[E+66>>1]=F&65280|F>>>16;k[D>>2]=f;if(w){D=E+60|0;k[D>>2]=(k[D>>2]|0)+1;k[E+72>>2]=c;ep(E);k[E+12>>2]=f}}else if(e)break;f=a+88|0;e=k[f>>2]|0;if((e|0)!=0?(H=k[G>>2]|0,(H|0)!=0):0){b=e;e=H;while(1){fp(b,k[e+20>>2]|0,k[e+4>>2]|0);e=k[e+12>>2]|0;if(!e){e=0;break a}b=k[f>>2]|0}}else e=0}while(0);r=I;return e|0}function Cl(a){a=a|0;var b=0,c=0;b=a+24|0;if(((j[b>>1]&2)!=0?(Vo(a,1),j[b>>1]=m[b>>1]&65529,(j[a+26>>1]|0)==0):0)?(c=k[a+28>>2]|0,(i[c+28>>0]|0)!=0):0){if((k[a+20>>2]|0)==1)k[c+44>>2]=0;rc[k[8744+136>>2]&63](k[c+40>>2]|0,k[a>>2]|0,0)}return}function Dl(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;c=k[a+16>>2]|0;c=((l[c+105>>0]|0)<<16|(l[c+104>>0]|0)<<24|(l[c+106>>0]|0)<<8|(l[c+107>>0]|0))+1|0;a=a+4|0;b=k[a>>2]|0;f=c>>>24&255;i[b+24>>0]=f;e=c>>>16&255;i[b+25>>0]=e;d=c>>>8&255;i[b+26>>0]=d;c=c&255;i[b+27>>0]=c;b=k[a>>2]|0;i[b+92>>0]=f;i[b+93>>0]=e;i[b+94>>0]=d;i[b+95>>0]=c;a=k[a>>2]|0;i[a+96>>0]=0;i[a+97>>0]=45;i[a+98>>0]=-26;i[a+99>>0]=9;return}function El(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0;v=r;r=r+32|0;if((r|0)>=(s|0))ka();h=v+16|0;q=v;e=gp(a)|0;a:do if(!e){do if(!(i[a+7>>0]|0)){u=a+64|0;if((k[k[u>>2]>>2]|0)!=0?(i[a+5>>0]|0)!=4:0){g=k[a+60>>2]|0;g=qc[k[(k[g>>2]|0)+48>>2]&127](g)|0;t=(g&512|0)==0;if(t){d=q;k[d>>2]=-117058087;k[d+4>>2]=-681336544;d=k[a+44>>2]|0;i[q+8>>0]=d>>>24;i[q+9>>0]=d>>>16;i[q+10>>0]=d>>>8;i[q+11>>0]=d;d=a+72|0;e=k[d>>2]|0;d=k[d+4>>2]|0;if((e|0)==0&(d|0)==0){e=0;d=0}else{d=ow(e|0,d|0,-1,-1)|0;e=k[a+148>>2]|0;d=vw(d|0,L|0,e|0,0)|0;d=ow(d|0,L|0,1,0)|0;e=xw(d|0,L|0,e|0,0)|0;d=L}f=k[u>>2]|0;f=yc[k[(k[f>>2]|0)+8>>2]&31](f,h,8,e,d)|0;if(!f){if(!(cw(h,14808,8)|0)){n=k[u>>2]|0;n=yc[k[(k[n>>2]|0)+12>>2]&31](n,14976,1,e,d)|0;o=12}}else{n=f;o=12}if((o|0)==12?!((n|0)==0|(n|0)==522):0){c=n;break a}d=g&1024;if((i[a+8>>0]|0)!=0&(d|0)==0?(p=k[u>>2]|0,p=wc[k[(k[p>>2]|0)+20>>2]&127](p,l[a+11>>0]|0)|0,(p|0)!=0):0){c=p;break a}p=k[u>>2]|0;e=a+80|0;e=yc[k[(k[p>>2]|0)+12>>2]&31](p,q,12,k[e>>2]|0,k[e+4>>2]|0)|0;if(e){c=e;break a}}else d=g&1024;if((d|0)==0?(q=k[u>>2]|0,c=i[a+11>>0]|0,c=wc[k[(k[q>>2]|0)+20>>2]&127](q,(c<<24>>24==3?16:0)|c&255)|0,(c|0)!=0):0)break a;o=a+72|0;p=k[o+4>>2]|0;q=a+80|0;k[q>>2]=k[o>>2];k[q+4>>2]=p;if((b|0)==0|t^1)break;k[a+44>>2]=0;c=Xo(a)|0;if(!c)break;else break a}o=a+72|0;p=k[o+4>>2]|0;q=a+80|0;k[q>>2]=k[o>>2];k[q+4>>2]=p}while(0);d=k[a+204>>2]|0;c=k[d>>2]|0;if(c)do{q=c+24|0;j[q>>1]=m[q>>1]&65531;c=k[c+32>>2]|0}while((c|0)!=0);k[d+8>>2]=k[d+4>>2];i[a+16>>0]=4;c=0}else c=e;while(0);r=v;return c|0}function Fl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0;v=r;r=r+16|0;if((r|0)>=(s|0))ka();g=v;u=a+60|0;d=k[u>>2]|0;if(!((k[d>>2]|0)==0?(c=k[a>>2]|0,c=yc[k[c+24>>2]&31](c,0,d,k[a+144>>2]&556897|30,0)|0,(c|0)!=0):0)){d=a+36|0;c=k[d>>2]|0;e=a+24|0;f=k[e>>2]|0;do if(c>>>0<f>>>0){if((k[b+12>>2]|0)==0?(k[b+20>>2]|0)>>>0<=c>>>0:0)break;l=k[a+152>>2]|0;l=xw(f|0,0,l|0,((l|0)<0)<<31>>31|0)|0;m=g;k[m>>2]=l;k[m+4>>2]=L;m=k[u>>2]|0;fc[k[(k[m>>2]|0)+40>>2]&63](m,5,g)|0;k[d>>2]=k[e>>2]}while(0);if(!b)c=0;else{n=a+24|0;o=a+152|0;p=a+104|0;q=a+32|0;t=a+192|0;m=a+88|0;do{l=k[b+20>>2]|0;if(l>>>0<=(k[n>>2]|0)>>>0?(j[b+24>>1]&32)==0:0){g=k[o>>2]|0;a=xw(g|0,((g|0)<0)<<31>>31|0,l+-1|0,0)|0;f=L;e=(l|0)==1;if(e){Dl(b);g=k[o>>2]|0}h=b+4|0;d=k[h>>2]|0;c=k[u>>2]|0;c=yc[k[(k[c>>2]|0)+12>>2]&31](c,d,g,a,f)|0;if(e){a=p+0|0;g=d+24|0;f=a+16|0;do{i[a>>0]=i[g>>0]|0;a=a+1|0;g=g+1|0}while((a|0)<(f|0))}if(l>>>0>(k[q>>2]|0)>>>0)k[q>>2]=l;k[t>>2]=(k[t>>2]|0)+1;fp(k[m>>2]|0,l,k[h>>2]|0)}else c=0;b=k[b+12>>2]|0}while((c|0)==0&(b|0)!=0)}}r=v;return c|0}function Gl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+16|0;if((r|0)>=(s|0))ka();j=o;l=a+60|0;d=k[l>>2]|0;e=k[d>>2]|0;do if((e|0)!=0?((i[a+16>>0]|0)+-1&255)>2:0){m=k[a+152>>2]|0;e=wc[k[e+24>>2]&127](d,j)|0;f=((m|0)<0)<<31>>31;g=xw(m|0,f|0,b|0,0)|0;h=L;if(!e){d=j;e=k[d>>2]|0;d=k[d+4>>2]|0;if((e|0)==(g|0)&(d|0)==(h|0))c=0;else{if(!((d|0)>(h|0)|(d|0)==(h|0)&e>>>0>g>>>0)){j=ow(e|0,d|0,m|0,f|0)|0;e=L;if(!((e|0)>(h|0)|(e|0)==(h|0)&j>>>0>g>>>0)){n=k[a+200>>2]|0;kw(n|0,0,m|0)|0;l=k[l>>2]|0;c=iw(g|0,h|0,m|0,f|0)|0;c=yc[k[(k[l>>2]|0)+12>>2]&31](l,n,m,c,L)|0;n=9}}else{c=k[l>>2]|0;c=fc[k[(k[c>>2]|0)+16>>2]&63](c,g,h)|0;n=9}if((n|0)==9?(c|0)!=0:0)break;k[a+32>>2]=b;c=0}}else c=e}else c=0;while(0);r=o;return c|0}
function cs(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,n=0,o=0,q=0,t=0,u=0,v=0,w=0,x=0;x=r;r=r+16|0;if((r|0)>=(s|0))ka();u=x;v=x+8|0;k[v>>2]=0;a:do if(!b){k[e>>2]=0;f=0}else{g=i[b>>0]|0;if(g<<24>>24==-98)do{b=k[b+12>>2]|0;g=i[b>>0]|0}while(g<<24>>24==-98);if(g<<24>>24==-97)n=l[b+38>>0]|0;else n=g&255;if((n|0)==157){b=k[b+12>>2]|0;n=i[b>>0]|0;if((n&-2)<<24>>24==-124){h=-1;g=-1;t=n&255;n=26016;w=12}else w=30}else if((n|0)==38){h=ar(k[b+8>>2]|0,0)|0;f=cs(a,k[b+12>>2]|0,c,h,e)|0;g=k[e>>2]|0;if(!g)break;lm(g,h,1);km(k[e>>2]|0,d,1);break}else{h=1;g=0;t=n;n=10360;w=12}b:do if((w|0)==12){c:do switch(t|0){case 97:case 132:case 133:{f=rh(a,40,0)|0;if(!f){k[v>>2]=f;break c}o=f+0|0;q=o+40|0;do{i[o>>0]=0;o=o+1|0}while((o|0)<(q|0));j[f+8>>1]=1;k[f+32>>2]=a;k[v>>2]=f;do if(!(k[b+4>>2]&1024)){h=k[b+8>>2]|0;k[u>>2]=n;k[u+4>>2]=h;h=zh(a,19456,u)|0;if(!h)break c;if(f)ah(f,h,-1,1,75)|0}else{n=k[b+8>>2]|0;n=xw(n|0,((n|0)<0)<<31>>31|0,h|0,g|0)|0;h=L;b=f+8|0;if(!(j[b>>1]&9312)){v=f;k[v>>2]=n;k[v+4>>2]=h;j[b>>1]=4;break}else{ch(f,n,h);break}}while(0);if((t&-2|0)==132&d<<24>>24==65)km(f,67,1);else km(f,d,1);g=f+8|0;b=m[g>>1]|0;if(b&12)j[g>>1]=b&65533;if(c<<24>>24==1){g=f;f=0;break b}g=f;f=bm(f,c&255)|0;break b}case 101:{f=rh(a,40,0)|0;if(!f){k[v>>2]=f;break c}else{o=f+0|0;q=o+40|0;do{i[o>>0]=0;o=o+1|0}while((o|0)<(q|0));j[f+8>>1]=1;k[f+32>>2]=a;k[v>>2]=f;g=f;f=0;break b}}case 157:{b=k[b+12>>2]|0;w=30;break b}case 134:{f=rh(a,40,0)|0;if(!f){k[v>>2]=f;break c}o=f+0|0;q=o+40|0;do{i[o>>0]=0;o=o+1|0}while((o|0)<(q|0));j[f+8>>1]=1;k[f+32>>2]=a;k[v>>2]=f;g=(k[b+8>>2]|0)+2|0;b=g;while(1)if(!(i[b>>0]|0))break;else b=b+1|0;v=(b-g&1073741823)+-1|0;ah(f,bu(a,g,v)|0,(v|0)/2|0,0,75)|0;g=f;f=0;break b}default:{g=0;f=0;break b}}while(0);i[a+65>>0]=1;rg(a,0);Rh(f);f=7;break a}while(0);if((w|0)==30){u=(cs(a,b,c,d,v)|0)==0;g=k[v>>2]|0;if(u&(g|0)!=0){tp(g);h=g+8|0;b=j[h>>1]|0;do if(!(b&8)){n=g;f=k[n>>2]|0;n=k[n+4>>2]|0;if((f|0)==0&(n|0)==-2147483648){p[g>>3]=9223372036854775808.0;j[h>>1]=b&48640|8;break}else{u=iw(0,0,f|0,n|0)|0;v=g;k[v>>2]=u;k[v+4>>2]=L;break}}else p[g>>3]=-+p[g>>3];while(0);km(g,d,c);f=0}else f=0}k[e>>2]=g}while(0);r=x;return f|0}function ds(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;do if((b|0)!=0?(e=a+19|0,f=i[e>>0]|0,(f&255)<8):0){d=0;c=a+116|0;while(1){if((k[c+12>>2]|0)==(b|0)){d=5;break}d=d+1|0;if((d|0)>=10){d=7;break}else c=c+20|0}if((d|0)==5){i[c+6>>0]=1;break}else if((d|0)==7){i[e>>0]=f+1<<24>>24;k[a+((f&255)<<2)+24>>2]=b;break}}while(0);return}function es(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0;m=r;r=r+32|0;if((r|0)>=(s|0))ka();l=m;c=a+484|0;h=k[c>>2]|0;j=k[a>>2]|0;do if((h|0)!=0?(gs(a),k[a+512>>2]=0,(k[h+52>>2]|0)>=1):0){if(i[j+145>>0]|0)if(!(Nk((k[h+68>>2]|0)+8|0,k[h>>2]|0,h)|0)){k[c>>2]=0;break}else{i[j+65>>0]=1;break}if(b)k[a+500>>2]=(k[b>>2]|0)-(k[a+496>>2]|0)+(k[b+4>>2]|0);k[l>>2]=a+496;g=zh(j,25256,l)|0;b=k[h+68>>2]|0;a:do if(b){d=k[j+20>>2]|0;if((d|0)>0){e=k[j+16>>2]|0;f=0;while(1){c=f+1|0;if((k[e+(f<<4)+12>>2]|0)==(b|0)){c=f;break a}if((c|0)<(d|0))f=c;else break}}else c=0}else c=-1e6;while(0);e=k[h>>2]|0;f=k[a+384>>2]|0;k[l>>2]=k[(k[j+16>>2]|0)+(c<<4)>>2];k[l+4>>2]=(c|0)==1?13184:13208;k[l+8>>2]=e;k[l+12>>2]=e;k[l+16>>2]=g;k[l+20>>2]=f;Gr(a,25280,l);rg(j,g);g=Tq(a)|0;Ir(a,c);Bh(g,144,0,0,0)|0;k[l>>2]=k[h>>2];Nr(g,c,zh(j,25368,l)|0);a=a+72|0;l=(k[a>>2]|0)+1|0;k[a>>2]=l;a=k[h>>2]|0;Ch(g,Bh(g,97,0,l,0)|0,a,0);Bh(g,147,c,l,0)|0}while(0);r=m;return}function fs(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=b+52|0;h=k[g>>2]|0;d=h+1|0;k[g>>2]=d;f=(h<<2)+8|0;e=b+56|0;f=wo(a,k[e>>2]|0,f,((f|0)<0)<<31>>31)|0;if(!f){if((h|0)>0){b=0;do{rg(a,k[(k[e>>2]|0)+(b<<2)>>2]|0);b=b+1|0}while((b|0)!=(h|0))}rg(a,c);rg(a,k[e>>2]|0);k[g>>2]=0}else{k[f+(h<<2)>>2]=c;k[f+(d<<2)>>2]=0}k[e>>2]=f;return}function gs(a){a=a|0;var b=0,c=0,d=0,e=0;b=k[a+512>>2]|0;if((b|0)!=0?(e=k[a+484>>2]|0,(e|0)!=0):0){c=k[a+516>>2]|0;d=k[a>>2]|0;a=ow(c|0,((c|0)<0)<<31>>31|0,1,0)|0;a=rh(d,a,L)|0;if(!a)a=0;else{pw(a|0,b|0,c|0)|0;i[a+c>>0]=0}fs(d,e,a)}return}function hs(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0;m=r;r=r+16|0;if((r|0)>=(s|0))ka();h=m;j=k[a>>2]|0;l=$q(j,c)|0;g=(b|0)!=0;if((l|0)!=0&g?(f=k[b>>2]|0,(f|0)>0):0){c=f;f=0;do{if(!(id(l,k[b+(f<<4)+8>>2]|0)|0)){k[h>>2]=l;yh(a,25184,h);c=k[b>>2]|0}f=f+1|0}while((f|0)<(c|0))}if(g){f=(k[b>>2]<<4)+24|0;f=wo(j,b,f,((f|0)<0)<<31>>31)|0;if(!f)c=10;else{b=f;c=11}}else{c=rh(j,24,0)|0;if(!c)c=10;else{f=c+0|0;b=f+24|0;do{i[f>>0]=0;f=f+1|0}while((f|0)<(b|0));b=c;c=11}}if((c|0)==10){Sk(j,d);Rk(j,e,1);rg(j,l)}else if((c|0)==11){j=b+8|0;k[j+(k[b>>2]<<4)+8>>2]=e;e=k[b>>2]|0;k[j+(e<<4)+4>>2]=d;k[j+(e<<4)>>2]=l;k[j+(e<<4)+12>>2]=0;k[b>>2]=e+1}r=m;return b|0}function is(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+96|0;if((r|0)>=(s|0))ka();h=j+48|0;c=j;d=k[k[a+32>>2]>>2]|0;e=h+0|0;f=d+0|0;g=e+48|0;do{i[e>>0]=i[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(g|0));if((i[a+43>>0]|0)!=2){e=k[a+4>>2]|0;hc[k[(k[e>>2]|0)+60>>2]&31](e)}e=c+0|0;f=d+48|0;g=e+48|0;do{i[e>>0]=i[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(g|0));if((cw(h,c,48)|0)==0?(i[h+12>>0]|0)!=0:0){f=h+40|0;g=h;d=0;c=0;do{d=d+c+(k[g>>2]|0)|0;c=d+c+(k[g+4>>2]|0)|0;g=g+8|0}while(g>>>0<f>>>0);if((d|0)==(k[f>>2]|0)?(c|0)==(k[h+44>>2]|0):0){c=a+52|0;if(!(cw(c,h,48)|0))c=0;else{k[b>>2]=1;e=c+0|0;f=h+0|0;g=e+48|0;do{k[e>>2]=k[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));c=m[a+66>>1]|0;k[a+36>>2]=c<<16&65536|c&65024;c=0}}else c=1}else c=1;r=j;return c|0}function js(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;f=r;r=r+16|0;if((r|0)>=(s|0))ka();e=f;b=yc[k[(k[a>>2]|0)+8>>2]&31](a,e,4,b,c)|0;if(!b)k[d>>2]=(l[e+1>>0]|0)<<16|(l[e>>0]|0)<<24|(l[e+2>>0]|0)<<8|(l[e+3>>0]|0);r=f;return b|0}function ks(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if(b>>>0<0|(b|0)==0&a>>>0<8)if(b>>>0<0|(b|0)==0&a>>>0<2)a=0;else{c=40;do{c=(c&65535)+65526|0;a=nw(a|0,b|0,1)|0;b=L}while(b>>>0<0|(b|0)==0&a>>>0<8);c=c&65535;e=11}else{if(b>>>0>0|(b|0)==0&a>>>0>255){d=b;c=40;while(1){c=(c&65535)+40|0;e=rw(a|0,d|0,4)|0;b=L;if(d>>>0>0|(d|0)==0&a>>>0>4095){a=e;d=b}else{a=e;break}}c=c&65535}else c=40;if(b>>>0>0|(b|0)==0&a>>>0>15){while(1){c=(c&65535)+10&65535;d=rw(a|0,b|0,1)|0;if(b>>>0>0|(b|0)==0&a>>>0>31){a=d;b=L}else{a=d;break}}e=11}else e=11}if((e|0)==11)a=(c&65535)+65526+(m[13496+((a&7)<<1)>>1]|0)&65535;return a|0}function ls(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0;j=k[a+408>>2]|0;j=(j|0)==0?a:j;g=j+396|0;f=k[g>>2]|0;h=k[j+400>>2]|0;a:do if((f|0)>0){a=0;while(1){if((k[h+(a<<4)>>2]|0)==(b|0)?(k[h+(a<<4)+4>>2]|0)==(c|0):0)break;a=a+1|0;if((a|0)>=(f|0)){l=8;break a}}a=h+(a<<4)+8|0;if(!(i[a>>0]|0))f=d<<24>>24!=0&1;else f=1;i[a>>0]=f}else l=8;while(0);do if((l|0)==8){a=(f<<4)+16|0;a=$l(k[j>>2]|0,h,a,((a|0)<0)<<31>>31)|0;k[j+400>>2]=a;if(!a){k[g>>2]=0;i[(k[j>>2]|0)+65>>0]=1;break}else{f=k[g>>2]|0;k[g>>2]=f+1;k[a+(f<<4)>>2]=b;k[a+(f<<4)+4>>2]=c;i[a+(f<<4)+8>>0]=d;k[a+(f<<4)+12>>2]=e;break}}while(0);return}function ms(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0;e=j[b+48>>1]|0;h=e&65535;d=m[b+46>>1]|0;l=a+64|0;if(!(k[l>>2]|0)){c=k[a>>2]|0;if(!(i[b+51>>0]&8))g=Ws(c,h,0)|0;else g=Ws(c,d,h-d|0)|0;if(g){if(e<<16>>16){f=b+32|0;b=b+28|0;d=g+16|0;c=0;do{e=k[(k[f>>2]|0)+(c<<2)>>2]|0;if(!(dw(e,11152)|0))e=0;else e=hr(a,e)|0;k[g+(c<<2)+20>>2]=e;i[(k[d>>2]|0)+c>>0]=i[(k[b>>2]|0)+c>>0]|0;c=c+1|0}while((c|0)<(h|0))}c=(k[l>>2]|0)==0;if(!c){c=(k[g>>2]|0)+-1|0;k[g>>2]=c;if(!c){$c(g);c=0}else c=0}else c=c?g:0}else c=0}else c=0;return c|0}function ns(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,l=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=r;r=r+112|0;if((r|0)>=(s|0))ka();A=F;C=F+100|0;D=F+96|0;g=F+48|0;B=k[a+8>>2]|0;k[C>>2]=0;k[D>>2]=0;z=k[a>>2]|0;a:do if(!B)c=0;else{b:do if(!b)E=16;else{o=i[b>>0]|0;n=o&255;do switch(n|0){case 77:case 76:{Bh(B,25,1,c,0)|0;d=Bh(B,n,eu(a,k[b+12>>2]|0,C)|0,0,0)|0;Bh(B,25,0,c,0)|0;e=k[B+32>>2]|0;if(e>>>0>d>>>0)k[(k[B+4>>2]|0)+(d*20|0)+8>>2]=e;k[(k[B+24>>2]|0)+88>>2]=e+-1;break b}case 135:{e=b+32|0;Bh(B,31,j[e>>1]|0,c,0)|0;if(!(i[(k[b+8>>2]|0)+1>>0]|0))break b;Ch(B,-1,k[(k[a+472>>2]|0)+((j[e>>1]|0)+-1<<2)>>2]|0,-2);break b}case 148:case 73:{y=b+12|0;A=eu(a,k[y>>2]|0,C)|0;z=b+16|0;B=eu(a,k[z>>2]|0,D)|0;fu(a,k[y>>2]|0,k[z>>2]|0,o<<24>>24==73?79:78,A,B,c,160);break b}case 133:{du(B,k[b+8>>2]|0,0,c);break b}case 154:break;case 101:{E=16;break b}case 74:{o=k[b+12>>2]|0;h=k[(k[b+20>>2]|0)+4>>2]|0;d=k[h>>2]|0;l=eu(a,o,C)|0;n=eu(a,d,D)|0;g=a+19|0;e=i[g>>0]|0;if(e<<24>>24){A=e+-1<<24>>24;i[g>>0]=A;f=k[a+((A&255)<<2)+24>>2]|0;if(!(A<<24>>24))E=103;else{A=e+-2<<24>>24;i[g>>0]=A;g=k[a+((A&255)<<2)+24>>2]|0}}else{E=a+72|0;f=(k[E>>2]|0)+1|0;k[E>>2]=f;E=103}if((E|0)==103){A=a+72|0;g=(k[A>>2]|0)+1|0;k[A>>2]=g}fu(a,o,d,83,l,n,f,32);A=k[h+20>>2]|0;ds(a,k[D>>2]|0);fu(a,o,A,81,l,eu(a,A,D)|0,g,32);Bh(B,72,f,g,c)|0;ds(a,f);ds(a,g);break b}case 132:{cu(a,b,0,c);break b}case 79:case 78:case 83:case 80:case 81:case 82:{y=b+12|0;A=eu(a,k[y>>2]|0,C)|0;z=b+16|0;B=eu(a,k[z>>2]|0,D)|0;fu(a,k[y>>2]|0,k[z>>2]|0,n,A,B,c,32);break b}case 19:case 96:{Bh(B,n,eu(a,k[b+12>>2]|0,C)|0,c,0)|0;break b}case 158:case 95:{c=ns(a,k[b+12>>2]|0,c)|0;break b}case 62:{d=k[b+44>>2]|0;e=b+32|0;Bh(B,132,(ha((j[d+38>>1]|0)+1|0,k[b+28>>2]|0)|0)+((j[e>>1]|0)+1)|0,c,0)|0;e=j[e>>1]|0;if(e<<16>>16<=-1)break b;if((i[(k[d+4>>2]|0)+((e<<16>>16)*24|0)+21>>0]|0)!=69)break b;Bh(B,39,c,0,0)|0;break b}case 24:{c=ns(a,k[b+12>>2]|0,c)|0;break b}case 155:{e=k[b+40>>2]|0;if(!e){k[A>>2]=k[b+8>>2];yh(a,28936,A);break b}else{c=k[(k[e+40>>2]|0)+(j[b+34>>1]<<4)+8>>2]|0;break b}}case 94:case 88:case 87:case 92:case 86:case 85:case 93:case 90:case 91:case 89:case 71:case 72:{A=eu(a,k[b+12>>2]|0,C)|0;Bh(B,n,eu(a,k[b+16>>2]|0,D)|0,A,c)|0;break b}case 157:{e=b+12|0;d=k[e>>2]|0;f=i[d>>0]|0;if(f<<24>>24==-124){cu(a,d,1,c);break b}else if(f<<24>>24==-123){du(B,k[d+8>>2]|0,1,c);break b}else{i[g>>0]=-124;k[g+4>>2]=17408;k[g+8>>2]=0;A=eu(a,g,C)|0;Bh(B,90,eu(a,k[e>>2]|0,D)|0,A,c)|0;break b}}case 119:case 20:{c=ju(a,b,0,0)|0;break b}case 75:{A=Cs(B)|0;h=Cs(B)|0;Bh(B,28,0,c,0)|0;ku(a,b,A,h);Bh(B,25,1,c,0)|0;e=B+24|0;d=k[e>>2]|0;f=~A;if((A|0)<0?(l=k[d+112>>2]|0,(l|0)!=0):0)k[l+(f<<2)>>2]=k[B+32>>2];g=B+32|0;k[d+88>>2]=(k[g>>2]|0)+-1;Bh(B,37,c,0,0)|0;f=k[e>>2]|0;e=~h;if((h|0)<0?(p=k[f+112>>2]|0,(p|0)!=0):0)k[p+(e<<2)>>2]=k[g>>2];k[f+88>>2]=(k[g>>2]|0)+-1;break b}case 156:{d=k[b+40>>2]|0;e=j[b+34>>1]|0;f=k[d+28>>2]|0;if(!(i[d>>0]|0)){c=k[f+(e*24|0)+16>>2]|0;break b}if(i[d+1>>0]|0){Bh(B,47,k[d+8>>2]|0,k[f+(e*24|0)+12>>2]|0,c)|0;break b}break}case 38:{e=ns(a,k[b+12>>2]|0,c)|0;if((e|0)!=(c|0))Bh(B,34,e,c,0)|0;Bh(B,40,c,(ar(k[b+8>>2]|0,0)|0)<<24>>24,0)|0;it(a,c,1);break b}case 153:{l=i[z+62>>0]|0;x=b+4|0;if((k[x>>2]&16384|0)==0?(h=k[b+20>>2]|0,(h|0)!=0):0){y=k[h>>2]|0;v=1;w=h}else{y=0;v=0;w=0}o=k[b+8>>2]|0;if(!o)n=0;else{n=o;while(1)if(!(i[n>>0]|0))break;else n=n+1|0;n=n-o&1073741823}g=Xh(z,o,n,y,l,0)|0;if((g|0)!=0?(k[g+12>>2]|0)!=0:0){u=g+2|0;h=m[u>>1]|0;if(h&512){g=Cs(B)|0;f=w+4|0;Wq(a,k[k[f>>2]>>2]|0,c);if((y|0)>1){e=a+100|0;d=1;do{Bh(B,77,c,g,0)|0;it(a,c,1);k[e>>2]=(k[e>>2]|0)+1;Wq(a,k[(k[f>>2]|0)+(d*20|0)>>2]|0,c);gu(a);d=d+1|0}while((d|0)!=(y|0))}f=k[B+24>>2]|0;e=~g;if((g|0)<0?(t=k[f+112>>2]|0,(t|0)!=0):0)k[t+(e<<2)>>2]=k[B+32>>2];k[f+88>>2]=(k[B+32>>2]|0)+-1;break b}if(h&1024){Wq(a,k[k[w+4>>2]>>2]|0,c);break b}t=(y|0)>0;if(t){n=w+4|0;l=A+20|0;h=A+4|0;e=A+24|0;o=0;d=0;f=0;do{if((d|0)<32?(b=k[(k[n>>2]|0)+(d*20|0)>>2]|0,k[A+0>>2]=0,k[A+4>>2]=0,k[A+8>>2]=0,k[A+12>>2]=0,k[A+16>>2]=0,k[A+20>>2]=0,i[l>>0]=1,k[A>>2]=78,k[h>>2]=79,k[e>>2]=0,ws(A,b)|0,(i[l>>0]|0)!=0):0)o=o|1<<d;if(!((j[u>>1]&32)==0|(f|0)!=0))f=hu(a,k[(k[n>>2]|0)+(d*20|0)>>2]|0)|0;d=d+1|0}while((d|0)!=(y|0));p=o}else{p=0;f=0}if(v){do if(!p){n=a+60|0;o=k[n>>2]|0;l=a+56|0;h=k[l>>2]|0;if((h|0)<(y|0)){A=a+72|0;o=k[A>>2]|0;k[A>>2]=o+y;o=o+1|0;break}else{k[n>>2]=o+y;k[l>>2]=h-y;break}}else{A=a+72|0;o=k[A>>2]|0;k[A>>2]=o+y;o=o+1|0}while(0);h=j[u>>1]|0;if((h&192)!=0?(q=k[k[w+4>>2]>>2]|0,A=i[q>>0]|0,A<<24>>24==-100|A<<24>>24==-102):0)i[q+38>>0]=h&192;A=a+100|0;k[A>>2]=(k[A>>2]|0)+1;gt(a,w,o,3);gu(a)}else o=0;if((y|0)>1?(k[x>>2]&128|0)!=0:0)g=iu(z,g,y,k[(k[w+4>>2]|0)+20>>2]|0)|0;else if(t)g=iu(z,g,y,k[k[w+4>>2]>>2]|0)|0;if(j[g+2>>1]&32){if(!f)f=k[z+8>>2]|0;Ch(B,Bh(B,36,0,0,0)|0,f,-4)}Ch(B,Bh(B,1,p,o,c)|0,g,-5);f=k[B+4>>2]|0;if(f)i[f+(((k[B+32>>2]|0)+-1|0)*20|0)+3>>0]=y;if(!((y|0)!=0&(p|0)==0))break b;it(a,o,y);e=a+56|0;if((k[e>>2]|0)>=(y|0))break b;k[e>>2]=y;k[a+60>>2]=o;break b}k[A>>2]=n;k[A+4>>2]=o;yh(a,28968,A);break b}case 159:{c=k[b+28>>2]|0;break b}case 134:{d=(k[b+8>>2]|0)+2|0;e=d;while(1)if(!(i[e>>0]|0))break;else e=e+1|0;z=(e-d&1073741823)+-1|0;A=bu(k[B>>2]|0,d,z)|0;Ch(B,Bh(B,30,(z|0)/2|0,c,0)|0,A,-1);break b}case 57:{if(!(k[a+412>>2]|0)){yh(a,29e3,A);c=0;break a}f=i[b+1>>0]|0;if(f<<24>>24!=2){d=k[b+8>>2]|0;if(f<<24>>24==4){Ch(B,Bh(B,24,0,4,0)|0,d,0);break b}}else{d=k[a+408>>2]|0;i[((d|0)==0?a:d)+21>>0]=1;d=k[b+8>>2]|0}Es(a,1811,f<<24>>24,d,0,0);break b}case 97:{A=k[b+8>>2]|0;Ch(B,Bh(B,97,0,c,0)|0,A,0);break b}default:{u=k[b+20>>2]|0;q=u+4|0;t=k[q>>2]|0;u=k[u>>2]|0;v=Cs(B)|0;o=k[b+12>>2]|0;b=(o|0)!=0;if(b){n=g+0|0;l=o+0|0;h=n+48|0;do{k[n>>2]=k[l>>2];n=n+4|0;l=l+4|0}while((n|0)<(h|0));o=eu(a,o,C)|0;i[g+38>>0]=i[g>>0]|0;i[g>>0]=-97;k[g+28>>2]=o;o=g+4|0;k[o>>2]=k[o>>2]&-4097;i[A>>0]=79;k[A+12>>2]=g;k[C>>2]=0;o=A}else o=0;p=u+-1|0;if((p|0)>0){d=a+100|0;h=A+16|0;g=B+24|0;f=B+32|0;e=0;n=o;while(1){k[d>>2]=(k[d>>2]|0)+1;o=k[t+(e*20|0)>>2]|0;if(b){k[h>>2]=o;o=n}A=Cs(B)|0;lt(a,o,A,16);Wq(a,k[t+((e|1)*20|0)>>2]|0,c);Bh(B,16,0,v,0)|0;gu(a);n=k[g>>2]|0;l=~A;if((A|0)<0?(w=k[n+112>>2]|0,(w|0)!=0):0)k[w+(l<<2)>>2]=k[f>>2];k[n+88>>2]=(k[f>>2]|0)+-1;e=e+2|0;if((e|0)>=(p|0))break;else n=o}}if(!(u&1))Bh(B,28,0,c,0)|0;else{A=a+100|0;k[A>>2]=(k[A>>2]|0)+1;Wq(a,k[(k[q>>2]|0)+(p*20|0)>>2]|0,c);gu(a)}f=k[B+24>>2]|0;e=~v;if((v|0)<0?(x=k[f+112>>2]|0,(x|0)!=0):0)k[x+(e<<2)>>2]=k[B+32>>2];k[f+88>>2]=(k[B+32>>2]|0)+-1;break b}}while(0);d=k[b+28>>2]|0;do if((d|0)<0){d=k[a+92>>2]|0;if((d|0)>0){c=(j[b+32>>1]|0)+d|0;break b}else{d=k[a+96>>2]|0;break}}while(0);c=ht(a,k[b+44>>2]|0,j[b+32>>1]|0,d,c,i[b+38>>0]|0)|0}while(0);if((E|0)==16)Bh(B,28,0,c,0)|0;ds(a,k[C>>2]|0);ds(a,k[D>>2]|0)}while(0);r=F;return c|0}function os(a,b){a=a|0;b=b|0;var c=0;c=Tq(a)|0;ls(a,b,1,1,(b|0)==1?13184:13208);Ch(c,Bh(c,55,0,1,b)|0,5,-14);b=a+68|0;if(!(k[b>>2]|0))k[b>>2]=1;return}function ps(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=b+48|0;if((m[d>>1]|0|0)<(c|0)){e=c*7|0;a=rh(a,e,((e|0)<0)<<31>>31)|0;if(!a)a=7;else{kw(a|0,0,e|0)|0;f=b+32|0;pw(a|0,k[f>>2]|0,(m[d>>1]|0)<<2|0)|0;k[f>>2]=a;f=a+(c<<2)|0;e=b+4|0;pw(f|0,k[e>>2]|0,(m[d>>1]|0)<<1|0)|0;k[e>>2]=f;e=a+(c*6|0)|0;a=b+28|0;pw(e|0,k[a>>2]|0,m[d>>1]|0|0)|0;k[a>>2]=e;j[d>>1]=c;a=b+51|0;i[a>>0]=i[a>>0]|16;a=0}}else a=0;return a|0}function qs(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,n=0;n=r;r=r+32|0;if((r|0)>=(s|0))ka();f=n;l=n+4|0;do if(!b)c=0;else{g=k[a>>2]|0;i=b+24|0;e=g+460|0;d=(k[e>>2]|0)+(k[i>>2]|0)|0;c=k[(k[g>>2]|0)+100>>2]|0;if((c|0)<(d|0)){k[f>>2]=c;yh(g,27152,f);c=1;break}k[e>>2]=d;f=a+28|0;e=m[f>>1]|0;h=e&4098;j[f>>1]=e&61437;k[l+0>>2]=0;k[l+4>>2]=0;k[l+8>>2]=0;k[l+12>>2]=0;k[l+16>>2]=0;k[l+20>>2]=0;k[l>>2]=82;k[l+4>>2]=83;e=l+12|0;k[e>>2]=g;k[l+24>>2]=a;ws(l,b)|0;l=(k[a>>2]|0)+460|0;k[l>>2]=(k[l>>2]|0)-(k[i>>2]|0);if(!((k[a+24>>2]|0)<=0?(k[(k[e>>2]|0)+64>>2]|0)<=0:0)){l=b+4|0;k[l>>2]=k[l>>2]|8}e=j[f>>1]|0;d=b+4|0;c=k[d>>2]|0;if(e&2){c=c|2;k[d>>2]=c}j[f>>1]=e&65535|h;c=c>>>3&1}while(0);r=n;return c|0}function rs(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;f=k[(k[a+12>>2]|0)+4>>2]|0;c=j[a+48>>1]|0;if(!(c<<16>>16)){b=0;c=0}else{g=k[a+4>>2]|0;d=c&65535;e=0;b=0;do{c=j[g+(e<<1)>>1]|0;if(c<<16>>16<0)c=1;else c=l[f+((c<<16>>16)*24|0)+22>>0]|0;b=c+b|0;e=e+1|0}while((e|0)<(d|0));b=b<<2;c=0}b=ks(b,c)|0;j[a+44>>1]=b;return}function ss(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=k[a>>2]|0;d=g+24|0;f=k[d>>2]|0;k[d>>2]=f&-97|64;Is(a,b,0);if(!(k[a+64>>2]|0)){while(1){c=k[b+52>>2]|0;if(!c){e=b;break}else b=c}k[d>>2]=f;b=rh(g,76,0)|0;if(b){c=b+0|0;d=c+76|0;do{i[c>>0]=0;c=c+1|0}while((c|0)<(d|0));j[b+40>>1]=1;k[b>>2]=0;j[b+28>>1]=200;nu(a,k[e>>2]|0,b+38|0,b+4|0);ou(a,b,e);j[b+36>>1]=-1;if(i[g+65>>0]|0){pg(g,b);b=0}}else b=0}else b=0;return b|0}function ts(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=k[b>>2]|0;e=i[c>>0]|0;a:do if(!(e<<24>>24)){g=0;f=0}else{g=e;h=0;while(1){f=h+1|0;if(!(g<<24>>24==95?1:(i[10368+(g&255)>>0]&6)!=0)){f=h;break a}g=i[c+f>>0]|0;if(!(g<<24>>24)){g=0;break}else h=f}}while(0);if((((e&255)+-48|0)>>>0>=10?(ki(c,f)|0)==27:0)?!((f|0)==0|g<<24>>24!=0):0)j=0;else{i[a+d>>0]=34;j=1;e=i[c>>0]|0;d=d+1|0}if(e<<24>>24){f=c;h=0;do{g=d+1|0;i[a+d>>0]=e;if((i[f>>0]|0)==34){i[a+g>>0]=34;d=d+2|0}else d=g;h=h+1|0;f=c+h|0;e=i[f>>0]|0}while(e<<24>>24!=0)}if(j){i[a+d>>0]=34;d=d+1|0}i[a+d>>0]=0;k[b>>2]=d;return}function us(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=a+20|0;d=i[c>>0]|0;if(d<<24>>24==2?(k[b+4>>2]&1|0)!=0:0){i[c>>0]=0;c=2}else e=4;a:do if((e|0)==4)switch(l[b>>0]|0|0){case 135:if(d<<24>>24==4){i[c>>0]=0;c=2;break a}else if(d<<24>>24==5){i[b>>0]=101;c=0;break a}else{c=0;break a}case 153:{if((d&255)>3){c=0;break a}if(k[b+4>>2]&524288){c=0;break a}i[c>>0]=0;c=2;break a}case 156:case 155:case 154:case 27:{if(d<<24>>24==3?(k[b+28>>2]|0)==(k[a+24>>2]|0):0){c=0;break a}i[c>>0]=0;c=2;break a}default:{c=0;break a}}while(0);return c|0}function vs(a,b){a=a|0;b=b|0;i[a+20>>0]=0;return 2}function ws(a,b){a=a|0;b=b|0;var c=0,d=0;a:do if(!b)b=0;else{c=wc[k[a>>2]&127](a,b)|0;do if((c|0)==0?(d=b+4|0,(k[d>>2]&16384|0)==0):0){if(ws(a,k[b+12>>2]|0)|0){b=2;break a}if(ws(a,k[b+16>>2]|0)|0){b=2;break a}b=b+20|0;if(!(k[d>>2]&2048))if(!(qu(a,k[b>>2]|0)|0))break;else{b=2;break a}else if(!(pu(a,k[b>>2]|0)|0))break;else{b=2;break a}}while(0);b=c&2}while(0);return b|0}function xs(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;do if(b){if(c){if((ru(b)|0)==0?(ru(c)|0)==0:0){d=rh(a,48,0)|0;if(d){e=d+0|0;f=e+48|0;do{i[e>>0]=0;e=e+1|0}while((e|0)<(f|0));i[d>>0]=72;j[d+34>>1]=-1;k[d+24>>2]=1}ys(a,d,b,c);b=d;break}Lk(a,b);Lk(a,c);b=sr(a,132,20616,0)|0}}else b=c;while(0);return b|0}function ys(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(!b){Lk(a,c);Lk(a,d)}else{if(d){k[b+16>>2]=d;a=b+4|0;k[a>>2]=k[a>>2]|k[d+4>>2]&2097408}if(c){k[b+12>>2]=c;a=b+4|0;k[a>>2]=k[a>>2]|k[c+4>>2]&2097408}Nt(b)}return}function zs(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,l=0;f=b<<16>>16;h=(f<<2)+63&-8;i=f<<1;l=i+2|0;g=(f+7+i+l&-8)+h|0;e=g+c|0;c=rh(a,e,((e|0)<0)<<31>>31)|0;if(c){kw(c|0,0,e|0)|0;k[c+32>>2]=c+56;k[c+8>>2]=c+h;e=h+l|0;k[c+4>>2]=c+e;k[c+28>>2]=c+(e+i);j[c+48>>1]=b;j[c+46>>1]=f+65535;k[d>>2]=c+g}return c|0}function As(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=r;r=r+16|0;if((r|0)>=(s|0))ka();t=z;n=k[b+12>>2]|0;l=a+68|0;w=k[l>>2]|0;y=w+1|0;k[l>>2]=w+2;j=k[a>>2]|0;g=k[b+24>>2]|0;a:do if(g){e=k[j+20>>2]|0;if((e|0)>0){d=k[j+16>>2]|0;h=0;while(1){f=h+1|0;if((k[d+(h<<4)+12>>2]|0)==(g|0)){f=h;break a}if((f|0)<(e|0))h=f;else break}}else f=0}else f=-1e6;while(0);if((Xq(a,27,k[b>>2]|0,0,k[(k[j+16>>2]|0)+(f<<4)>>2]|0)|0)==0?(ls(a,f,k[n+32>>2]|0,1,k[n>>2]|0),x=Tq(a)|0,(x|0)!=0):0){if((c|0)>-1)o=c;else o=k[b+40>>2]|0;u=ms(a,b)|0;v=k[l>>2]|0;k[l>>2]=v+1;q=b+46|0;e=m[q>>1]|0;if(u)k[u>>2]=(k[u>>2]|0)+1;Ch(x,Bh(x,58,v,0,e)|0,u,-6);Vq(a,w,f,n,54);j=Bh(x,108,w,0,0)|0;e=a+19|0;d=i[e>>0]|0;if(!(d<<24>>24)){n=a+72|0;p=(k[n>>2]|0)+1|0;k[n>>2]=p}else{p=d+-1<<24>>24;i[e>>0]=p;p=k[a+((p&255)<<2)+24>>2]|0}Ut(a,b,w,p,0,t,0,0)|0;Bh(x,109,v,p,0)|0;Vt(a,k[t>>2]|0);Bh(x,9,w,j+1|0,0)|0;n=x+32|0;h=k[n>>2]|0;if(h>>>0>j>>>0)k[(k[x+4>>2]|0)+(j*20|0)+8>>2]=h;g=x+24|0;k[(k[g>>2]|0)+88>>2]=h+-1;if((c|0)<0)Bh(x,118,o,f,0)|0;Ch(x,Bh(x,55,y,o,f)|0,u,-6);l=x+4|0;e=k[l>>2]|0;if(e)i[e+(((k[n>>2]|0)+-1|0)*20|0)+3>>0]=(c>>31)+4&252|1;j=Bh(x,106,v,0,0)|0;e=k[n>>2]|0;if((i[b+50>>0]|0)!=0&(u|0)!=0){h=e+3|0;Bh(x,16,0,h,0)|0;e=k[n>>2]|0;o=m[q>>1]|0;Ch(x,Bh(x,99,v,h,p)|0,o,-14);su(a,2,b)}Bh(x,100,v,p,y)|0;Bh(x,110,y,p,1)|0;d=k[l>>2]|0;if(d)i[d+(((k[n>>2]|0)+-1|0)*20|0)+3>>0]=16;ds(a,p);Bh(x,5,v,e,0)|0;d=k[n>>2]|0;if(d>>>0>j>>>0)k[(k[l>>2]|0)+(j*20|0)+8>>2]=d;k[(k[g>>2]|0)+88>>2]=d+-1;Bh(x,61,w,0,0)|0;Bh(x,61,y,0,0)|0;Bh(x,61,v,0,0)|0}r=z;return}function Bs(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0;p=r;r=r+16|0;if((r|0)>=(s|0))ka();o=p;n=k[a>>2]|0;if(!c){c=bo(n,b,d,0)|0;if(!c)h=4;else h=3}else h=3;if((h|0)==3)if(!(k[c+12>>2]|0))h=4;else h=14;if((h|0)==4){f=b&255;e=n+224|0;if(k[e>>2]|0){g=ph(n,d)|0;if(g){vc[k[e>>2]&15](k[n+232>>2]|0,n,f,g);rg(n,g);h=7}}else h=7;if((h|0)==7?(m=n+228|0,(k[m>>2]|0)!=0):0){e=rh(n,40,0)|0;if(!e)e=0;else{g=e+0|0;f=g+40|0;do{i[g>>0]=0;g=g+1|0}while((g|0)<(f|0));j[e+8>>1]=1;k[e+32>>2]=n;ah(e,d,-1,1,0)|0}c=Xg(e,2)|0;if(c)vc[k[m>>2]&15](k[n+232>>2]|0,n,l[n+62>>0]|0,c);Rh(e)}c=bo(n,b,d,0)|0;if(!c)h=19;else h=14}a:do if((h|0)==14)if(!(k[c+12>>2]|0)){f=k[c>>2]|0;g=0;while(1){e=bo(n,i[26816+g>>0]|0,f,0)|0;g=g+1|0;if(k[e+12>>2]|0)break;if((g|0)>=3){h=19;break a}}k[c+0>>2]=k[e+0>>2];k[c+4>>2]=k[e+4>>2];k[c+8>>2]=k[e+8>>2];k[c+12>>2]=k[e+12>>2];k[c+16>>2]=0}while(0);if((h|0)==19){k[o>>2]=d;yh(a,26784,o);c=0}r=p;return c|0}function Cs(a){a=a|0;var b=0,c=0;a=k[a+24>>2]|0;c=a+108|0;b=k[c>>2]|0;k[c>>2]=b+1;if(!(b+-1&b)){c=a+112|0;a=$l(k[a>>2]|0,k[c>>2]|0,b<<3|4,0)|0;k[c>>2]=a}else a=k[a+112>>2]|0;if(a)k[a+(b<<2)>>2]=-1;return ~b|0}function Ds(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,l=0;if(b){d=k[b>>2]|0;if((d|0)>0){e=(d*72|0)+8|0;d=e;e=((e|0)<0)<<31>>31}else{d=80;e=0}d=rh(a,d,e)|0;if(d){e=k[b>>2]|0;k[d+4>>2]=e;k[d>>2]=e;if((k[b>>2]|0)>0){e=d+8|0;g=0;do{k[e+(g*72|0)>>2]=k[b+(g*72|0)+8>>2];h=ph(a,k[b+(g*72|0)+12>>2]|0)|0;k[e+(g*72|0)+4>>2]=h;h=ph(a,k[b+(g*72|0)+16>>2]|0)|0;k[e+(g*72|0)+8>>2]=h;h=ph(a,k[b+(g*72|0)+20>>2]|0)|0;k[e+(g*72|0)+12>>2]=h;i[e+(g*72|0)+36>>0]=i[b+(g*72|0)+44>>0]|0;k[e+(g*72|0)+40>>2]=k[b+(g*72|0)+48>>2];k[e+(g*72|0)+24>>2]=k[b+(g*72|0)+32>>2];k[e+(g*72|0)+28>>2]=k[b+(g*72|0)+36>>2];h=b+(g*72|0)+45|0;f=e+(g*72|0)+37|0;l=i[f>>0]&-3|i[h>>0]&2;i[f>>0]=l;l=l&-5|i[h>>0]&4;i[f>>0]=l;i[f>>0]=l&-9|i[h>>0]&8;l=ph(a,k[b+(g*72|0)+72>>2]|0)|0;k[e+(g*72|0)+64>>2]=l;i[f>>0]=i[f>>0]&-2|i[h>>0]&1;k[e+(g*72|0)+68>>2]=k[b+(g*72|0)+76>>2];f=k[b+(g*72|0)+24>>2]|0;k[e+(g*72|0)+16>>2]=f;if(f){f=f+40|0;j[f>>1]=(j[f>>1]|0)+1<<16>>16}l=lr(a,k[b+(g*72|0)+28>>2]|0,c)|0;k[e+(g*72|0)+20>>2]=l;l=Rr(a,k[b+(g*72|0)+52>>2]|0,c,0)|0;k[e+(g*72|0)+44>>2]=l;l=Sr(a,k[b+(g*72|0)+56>>2]|0)|0;k[e+(g*72|0)+48>>2]=l;l=b+(g*72|0)+64|0;h=k[l+4>>2]|0;f=e+(g*72|0)+56|0;k[f>>2]=k[l>>2];k[f+4>>2]=h;g=g+1|0}while((g|0)<(k[b>>2]|0))}}else d=0}else d=0;return d|0}function Es(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0;g=Tq(a)|0;if((c|0)==2){j=k[a+408>>2]|0;i[((j|0)==0?a:j)+21>>0]=1}Ch(g,Bh(g,24,b,c,0)|0,d,e<<24>>24);if(f<<24>>24!=0?(h=k[g+4>>2]|0,(h|0)!=0):0)i[h+(((k[g+32>>2]|0)+-1|0)*20|0)+3>>0]=f;return}function Fs(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=k[(k[(k[a>>2]|0)+16>>2]|0)+28>>2]|0;do if(!(i[a+438>>0]|0)){f=k[b+68>>2]|0;if((c|0)!=(f|0)?(d=k[c+48>>2]|0,(d|0)!=0):0){e=b+64|0;c=0;while(1){a=k[d+8>>2]|0;if((k[a+24>>2]|0)==(f|0)?(id(k[a+4>>2]|0,k[b>>2]|0)|0)==0:0){if(!c)c=k[e>>2]|0;k[a+32>>2]=c}else a=c;d=k[d>>2]|0;if(!d)break;else c=a}if(a)break}a=k[b+64>>2]|0}else a=0;while(0);return a|0}function Gs(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=k[b+32>>2]|0;j=b+8|0;h=b+68|0;e=0;while(1){f=(e|0)==0;b=f|(i|0)<(e|0)?i:0;c=k[j>>2]|0;if(!c)g=b;else{do{d=k[c+40>>2]|0;b=(f|(d|0)<(e|0))&(d|0)>(b|0)?d:b;c=k[c+20>>2]|0}while((c|0)!=0);g=b}if(!g)break;b=k[a>>2]|0;e=k[h>>2]|0;a:do if(e){f=k[b+20>>2]|0;if((f|0)>0){c=k[b+16>>2]|0;d=0;while(1){b=d+1|0;if((k[c+(d<<4)+12>>2]|0)==(e|0)){b=d;break a}if((b|0)<(f|0))d=b;else break}}else b=0}else b=-1e6;while(0);Jr(a,g,b);e=g}return}function Hs(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;a:do if((b|0)!=0?(c=k[b>>2]|0,(c|0)>0):0){g=a+68|0;e=0;f=b+8|0;while(1){d=f+40|0;if((k[d>>2]|0)>-1)break a;h=k[g>>2]|0;k[g>>2]=h+1;k[d>>2]=h;d=k[f+20>>2]|0;if(d){Hs(a,k[d+32>>2]|0);c=k[b>>2]|0}e=e+1|0;if((e|0)>=(c|0))break;else f=f+72|0}}while(0);return}function Is(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,l=0;l=r;r=r+32|0;if((r|0)>=(s|0))ka();h=l;if(((b|0)!=0?(g=(k[a>>2]|0)+65|0,(i[g>>0]|0)==0):0)?(e=b+6|0,d=j[e>>1]|0,(d&32)==0):0){k[h+0>>2]=0;k[h+4>>2]=0;k[h+8>>2]=0;k[h+12>>2]=0;k[h+16>>2]=0;k[h+20>>2]=0;k[h+24>>2]=0;k[h>>2]=84;k[h+12>>2]=a;f=h+4|0;if(i[a+22>>0]|0){k[f>>2]=85;pu(h,b)|0;d=j[e>>1]|0}k[f>>2]=86;if(!(d&256))k[h+8>>2]=9;pu(h,b)|0;d=a+64|0;if((((k[d>>2]|0)==0?(i[g>>0]|0)==0:0)?(k[h+0>>2]=0,k[h+4>>2]=0,k[h+8>>2]=0,k[h+12>>2]=0,k[h+16>>2]=0,k[h+20>>2]=0,k[h>>2]=82,k[h+4>>2]=83,k[h+12>>2]=a,k[h+24>>2]=c,pu(h,b)|0,(k[d>>2]|0)==0):0)?(i[g>>0]|0)==0:0){k[h+0>>2]=0;k[h+4>>2]=0;k[h+8>>2]=0;k[h+12>>2]=0;k[h+16>>2]=0;k[h+20>>2]=0;k[h+24>>2]=0;k[h+8>>2]=10;k[h>>2]=84;k[h+12>>2]=a;pu(h,b)|0}}r=l;return}function Js(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;if(a)do{c=k[a+36>>2]|0;if((c|0)!=0?(g=k[c+24>>2]|0,(g|0)>(k[b>>2]|0)):0)k[b>>2]=g;c=k[a+44>>2]|0;if((c|0)!=0?(d=k[c+24>>2]|0,(d|0)>(k[b>>2]|0)):0)k[b>>2]=d;c=k[a+60>>2]|0;if((c|0)!=0?(e=k[c+24>>2]|0,(e|0)>(k[b>>2]|0)):0)k[b>>2]=e;c=k[a+64>>2]|0;if((c|0)!=0?(f=k[c+24>>2]|0,(f|0)>(k[b>>2]|0)):0)k[b>>2]=f;yu(k[a>>2]|0,b);yu(k[a+40>>2]|0,b);yu(k[a+48>>2]|0,b);a=k[a+52>>2]|0}while((a|0)!=0);return}function Ks(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;e=k[b>>2]|0;f=e+c|0;if(f>>>0>(k[b+4>>2]|0)>>>0){g=wo(a,b,(f*72|0)+8|0,0)|0;if(g){do if(!a)b=qc[k[8744+48>>2]&127](g)|0;else{if((k[a+276>>2]|0)>>>0<=g>>>0?(k[a+280>>2]|0)>>>0>g>>>0:0){b=m[a+248>>1]|0;break}b=qc[k[8744+48>>2]&127](g)|0}while(0);k[g+4>>2]=(((b+-80|0)>>>0)/72|0)+1;b=g;e=k[g>>2]|0;h=10}}else h=10;if((h|0)==10){if((e|0)>(d|0)){do{e=e+-1|0;f=b+((e+c|0)*72|0)+8|0;a=b+(e*72|0)+8|0;g=f+72|0;do{k[f>>2]=k[a>>2];f=f+4|0;a=a+4|0}while((f|0)<(g|0))}while((e|0)>(d|0));e=k[b>>2]|0}k[b>>2]=e+c;kw(b+(d*72|0)+8|0,0,c*72|0)|0;e=d+c|0;if((c|0)>0)do{k[b+(d*72|0)+48>>2]=-1;d=d+1|0}while((d|0)<(e|0))}return b|0}function Ls(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;if((b|0)!=0?(k[b>>2]|0)>0:0){e=b+4|0;f=k[e>>2]|0;g=0;do{h=Ms(a,k[f+(g*20|0)>>2]|0,c,d)|0;f=k[e>>2]|0;k[f+(g*20|0)>>2]=h;g=g+1|0}while((g|0)<(k[b>>2]|0))}return}function Ms(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;do if(b){if((i[b>>0]|0)==-102?(k[b+28>>2]|0)==(c|0):0){e=j[b+32>>1]|0;if(e<<16>>16<0){i[b>>0]=101;break}else{e=Rr(a,k[(k[d+4>>2]|0)+((e<<16>>16)*20|0)>>2]|0,0,0)|0;Lk(a,b);b=e;break}}e=b+12|0;f=Ms(a,k[e>>2]|0,c,d)|0;k[e>>2]=f;e=b+16|0;f=Ms(a,k[e>>2]|0,c,d)|0;k[e>>2]=f;e=b+20|0;if(!(k[b+4>>2]&2048)){Ls(a,k[e>>2]|0,c,d);break}else{zu(a,k[e>>2]|0,c,d);break}}else b=0;while(0);return b|0}function Ns(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;e=k[k[b>>2]>>2]|0;d=b;f=1;while(1){b=k[d+52>>2]|0;if(!b){e=5;break}if((k[k[b>>2]>>2]|0)==(e|0)){d=b;f=f+1|0}else{e=3;break}}a:do if((e|0)==3){Os(a,b);b=1}else if((e|0)==5)if(!d)b=0;else{g=((f|0)<0)<<31>>31;e=0;while(1){h=d+52|0;k[h>>2]=0;b=nr(a,d,c)|0;k[h>>2]=e;if(b)break a;b=d+24|0;k[b>>2]=f;k[b+4>>2]=g;b=k[d+56>>2]|0;if(!b){b=0;break a}d=b;e=k[b+52>>2]|0}}while(0);return b|0}function Os(a,b){a=a|0;b=b|0;var c=0,d=0;d=r;r=r+16|0;if((r|0)>=(s|0))ka();c=d;if(!(j[b+6>>1]&128)){b=l[b+4>>0]|0;if((b|0)==116)b=35320;else if((b|0)==118)b=35336;else if((b|0)==117)b=35352;else b=35360;k[c>>2]=b;yh(a,35232,c)}else yh(a,35184,c);r=d;return}function Ps(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,l=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;E=r;r=r+32|0;if((r|0)>=(s|0))ka();v=E;e=k[b+32>>2]|0;h=k[k[b>>2]>>2]|0;q=k[a+8>>2]|0;t=b+52|0;u=k[t>>2]|0;if(!(Xq(a,33,0,0,0)|0)){w=Cs(q)|0;Ts(a,b,w);x=b+60|0;y=k[x>>2]|0;z=b+64|0;A=k[z>>2]|0;B=b+8|0;n=k[B>>2]|0;C=b+12|0;o=k[C>>2]|0;k[z>>2]=0;k[x>>2]=0;k[C>>2]=0;k[B>>2]=0;B=b+48|0;C=k[B>>2]|0;f=k[e>>2]|0;a:do if((f|0)>0){g=0;while(1){if(i[e+(g*72|0)+45>>0]&8)break;g=g+1|0;if((g|0)>=(f|0)){l=0;break a}}l=k[e+(g*72|0)+48>>2]|0}else l=0;while(0);g=a+68|0;e=k[g>>2]|0;f=e+1|0;k[g>>2]=f;d=(C|0)!=0;if((i[b+4>>0]|0)==115){k[g>>2]=e+2;g=d?8:6}else{g=d?7:5;f=0}i[v>>0]=g;k[v+4>>2]=e;i[v+1>>0]=0;k[v+8>>2]=0;k[v+12>>2]=0;F=a+72|0;g=(k[F>>2]|0)+1|0;k[F>>2]=g;Bh(q,60,l,g,h)|0;if(d){h=Au(a,b)|0;Ch(q,Bh(q,57,e,(k[C>>2]|0)+2|0,0)|0,h,-6);k[v+16>>2]=C}else Bh(q,57,e,h,0)|0;if(f){f=Bh(q,57,f,0,0)|0;k[b+16>>2]=f;f=b+6|0;j[f>>1]=m[f>>1]|8}k[B>>2]=0;h=u+56|0;k[h>>2]=0;f=nr(a,u,v)|0;k[h>>2]=b;if(!f){h=Bh(q,108,e,w,0)|0;Bh(q,104,l,0,0)|0;if(d)Bh(q,47,e,(k[C>>2]|0)+1|0,g)|0;else Bh(q,102,e,g,0)|0;Bh(q,95,e,0,0)|0;f=Cs(q)|0;nt(q,o,f);Us(a,b,k[b>>2]|0,l,0,0,c,f,w);if(n)Bh(q,140,n,w,0)|0;d=q+24|0;g=k[d>>2]|0;e=~f;if((f|0)<0?(p=k[g+112>>2]|0,(p|0)!=0):0)k[p+(e<<2)>>2]=k[q+32>>2];f=q+32|0;k[g+88>>2]=(k[f>>2]|0)+-1;k[t>>2]=0;nr(a,b,v)|0;k[t>>2]=u;Bh(q,16,0,h,0)|0;d=k[d>>2]|0;e=~w;if((w|0)<0?(D=k[d+112>>2]|0,(D|0)!=0):0)k[D+(e<<2)>>2]=k[f>>2];k[d+88>>2]=(k[f>>2]|0)+-1}Sk(k[a>>2]|0,k[B>>2]|0);k[B>>2]=C;k[x>>2]=y;k[z>>2]=A}r=E;return}function Qs(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;X=r;r=r+48|0;if((r|0)>=(s|0))ka();p=X+40|0;I=X+20|0;J=X;T=k[a>>2]|0;Q=k[a+8>>2]|0;S=Cs(Q)|0;P=Cs(Q)|0;U=b+4|0;K=i[U>>0]|0;V=b+52|0;W=k[V>>2]|0;t=b+48|0;f=k[t>>2]|0;e=k[f>>2]|0;N=K<<24>>24==116;a:do if(!N?(n=T+65|0,(i[n>>0]|0)==0):0){g=p+4|0;o=1;while(1){if((o|0)>(k[k[b>>2]>>2]|0)){M=e;q=14;break a}b:do if((e|0)>0){d=0;h=k[f+4>>2]|0;while(1){if((m[h+16>>1]|0)==(o|0))break b;d=d+1|0;if((d|0)<(e|0))h=h+20|0;else break}}else d=0;while(0);if((d|0)==(e|0)){k[p>>2]=0;k[g>>2]=0;d=sr(T,132,p,0)|0;if(!d){d=7;break a}F=d+4|0;k[F>>2]=k[F>>2]|1024;k[d+8>>2]=o;f=qr(a,f,d)|0;if(!f)f=0;else{j[(k[f+4>>2]|0)+(e*20|0)+16>>1]=o;e=e+1|0}}if(!(i[n>>0]|0))o=o+1|0;else{M=e;q=14;break}}}else{M=e;q=14}while(0);if((q|0)==14){H=rh(T,M<<2,0)|0;if(!H)F=0;else{if((M|0)>0){e=0;d=k[f+4>>2]|0;while(1){k[H+(e<<2)>>2]=(m[d+16>>1]|0)+-1;e=e+1|0;if((e|0)==(M|0))break;else d=d+20|0}}F=Au(a,b)|0}k[t>>2]=f;E=Ur(k[a>>2]|0,f,0)|0;n=W+48|0;k[n>>2]=E;if(!N){f=k[k[b>>2]>>2]|0;e=a+72|0;E=k[e>>2]|0;h=E+1|0;k[e>>2]=f+1+E;Bh(Q,25,0,h,0)|0;e=Ws(T,f,1)|0;if(e){if((f|0)>0){d=e+16|0;g=0;do{E=Xs(a,b,g)|0;k[e+(g<<2)+20>>2]=E;i[(k[d>>2]|0)+g>>0]=0;g=g+1|0}while((g|0)!=(f|0))}}else e=0}else{e=0;h=0}k[V>>2]=0;G=W+56|0;k[G>>2]=0;Bu(a,b,k[t>>2]|0,26880)|0;if(!(k[W+52>>2]|0))Bu(a,W,k[n>>2]|0,26880)|0;Ts(a,b,S);g=b+8|0;f=k[g>>2]|0;n=a+72|0;if((f|0)!=0&N){q=k[n>>2]|0;o=q+1|0;q=q+2|0;k[n>>2]=q;E=k[b+12>>2]|0;Bh(Q,33,(E|0)==0?f:E+1|0,o,0)|0;Bh(Q,33,o,q,0)|0}else{o=0;q=0}w=b+60|0;Lk(T,k[w>>2]|0);k[w>>2]=0;w=b+64|0;Lk(T,k[w>>2]|0);k[w>>2]=0;w=k[n>>2]|0;x=w+1|0;y=w+2|0;u=w+3|0;w=w+4|0;k[n>>2]=w;i[I>>0]=13;k[I+4>>2]=x;i[I+1>>0]=0;A=I+8|0;k[A>>2]=0;k[I+12>>2]=0;i[J>>0]=13;k[J+4>>2]=y;i[J+1>>0]=0;B=J+8|0;k[B>>2]=0;k[J+12>>2]=0;D=Q+32|0;p=Bh(Q,20,x,0,(k[D>>2]|0)+1|0)|0;k[W+8>>2]=o;n=a+468|0;E=k[n>>2]|0;nr(a,W,I)|0;Bh(Q,21,x,0,0)|0;o=k[D>>2]|0;if(o>>>0>p>>>0)k[(k[Q+4>>2]|0)+(p*20|0)+8>>2]=o;z=Q+24|0;k[(k[z>>2]|0)+88>>2]=o+-1;v=Bh(Q,20,y,0,o+1|0)|0;d=k[g>>2]|0;f=b+12|0;t=k[f>>2]|0;k[g>>2]=q;k[f>>2]=0;C=k[n>>2]|0;nr(a,b,J)|0;k[g>>2]=d;k[f>>2]=t;Bh(Q,21,y,0,0)|0;f=Cu(a,b,I,c,u,h,e,S)|0;t=(K+-115&255)<2;if(t)d=Cu(a,b,J,c,w,h,e,S)|0;else d=0;if((e|0)!=0?(g=(k[e>>2]|0)+-1|0,k[e>>2]=g,(g|0)==0):0)$c(e);h=K<<24>>24==118;if((K+-117&255)<2){q=S;e=S}else{q=Bh(Q,17,w,d,0)|0;e=Bh(Q,22,y,S,0)|0;Bh(Q,16,0,q,0)|0;n=W+24|0;g=b+24|0;o=g;n=ow(k[o>>2]|0,k[o+4>>2]|0,k[n>>2]|0,k[n+4>>2]|0)|0;k[g>>2]=n;k[g+4>>2]=L}if(h){p=b+24|0;g=p;I=k[g+4>>2]|0;n=W+24|0;o=k[n>>2]|0;n=k[n+4>>2]|0;if(I>>>0>n>>>0|((I|0)==(n|0)?(k[g>>2]|0)>>>0>o>>>0:0)){g=p;k[g>>2]=o;k[g+4>>2]=n;g=q}else g=q}else{g=Bh(Q,17,u,f,0)|0;Bh(Q,22,x,S,0)|0;Bh(Q,16,0,g,0)|0}p=Bh(Q,17,u,f,0)|0;Bh(Q,22,x,q,0)|0;Bh(Q,16,0,P,0)|0;do if(!N)if(h){q=p;p=p+1|0;break}else{q=Bh(Q,22,x,q,0)|0;Bh(Q,16,0,P,0)|0;break}else q=p;while(0);o=k[D>>2]|0;if(t)Bh(Q,17,w,d,0)|0;Bh(Q,22,y,g,0)|0;Bh(Q,16,0,P,0)|0;n=k[D>>2]|0;if(n>>>0>v>>>0)k[(k[Q+4>>2]|0)+(v*20|0)+8>>2]=n;k[(k[z>>2]|0)+88>>2]=n+-1;Bh(Q,22,x,e,0)|0;Bh(Q,22,y,g,0)|0;g=k[z>>2]|0;f=~P;if((P|0)<0?(O=k[g+112>>2]|0,(O|0)!=0):0)k[O+(f<<2)>>2]=k[D>>2];k[g+88>>2]=(k[D>>2]|0)+-1;Ch(Q,Bh(Q,41,0,0,0)|0,H,-15);Ch(Q,Bh(Q,42,k[A>>2]|0,k[B>>2]|0,M)|0,F,-6);e=k[Q+4>>2]|0;if(e)i[e+(((k[D>>2]|0)+-1|0)*20|0)+3>>0]=1;Bh(Q,43,p,q,o)|0;e=k[z>>2]|0;d=~S;if((S|0)<0?(R=k[e+112>>2]|0,(R|0)!=0):0)k[R+(d<<2)>>2]=k[D>>2];k[e+88>>2]=(k[D>>2]|0)+-1;if((i[c>>0]|0)==9){d=W;while(1){e=k[d+52>>2]|0;if(!e)break;else d=e}Ss(a,0,k[d>>2]|0)}d=k[V>>2]|0;if(d)Rk(T,d,1);k[V>>2]=W;k[G>>2]=b;Vs(a,l[U>>0]|0,E,C,0);d=0}r=X;return d|0}function Rs(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;if((r|0)>=(s|0))ka();d=e;do if(!(k[a+4>>2]&1024)){c=l[a>>0]|0;if((c|0)==158){c=Rs(k[a+12>>2]|0,b)|0;break}else if((c|0)!=157){c=0;break}if(!(Rs(k[a+12>>2]|0,d)|0))c=0;else{k[b>>2]=0-(k[d>>2]|0);c=1}}else{k[b>>2]=k[a+8>>2];c=1}while(0);r=e;return c|0}function Ss(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=r;r=r+32|0;if((r|0)>=(s|0))ka();z=A;y=a+8|0;v=k[y>>2]|0;w=k[a>>2]|0;if(((i[a+450>>0]|0)==0?(f=a+16|0,!((i[f>>0]|0)!=0|(v|0)==0)):0)?(i[w+65>>0]|0)==0:0){i[f>>0]=1;f=k[w+24>>2]|0;u=(f&32|0)==0;nq(v,k[c>>2]|0);e=k[c>>2]|0;if((e|0)>0){t=c+4|0;q=(b|0)==0;n=(f&96|0)==0;o=(b|0)!=0;p=0;do{m=k[t>>2]|0;e=k[m+(p*20|0)>>2]|0;do if(e){f=k[m+(p*20|0)+4>>2]|0;if(f){oq(v,p,0,f,-1);break}f=i[e>>0]|0;if(f<<24>>24==-102){if(q)x=25}else if(!(f<<24>>24==-100&o))x=25;if((x|0)==25){x=0;f=k[m+(p*20|0)+8>>2]|0;if(!f){k[z>>2]=p+1;f=zh(w,34880,z)|0}else f=ph(w,f)|0;oq(v,p,0,f,75);break}l=j[e+32>>1]|0;f=l<<16>>16;h=k[b>>2]|0;a:do if((h|0)>0){d=k[e+28>>2]|0;g=0;while(1){e=g+1|0;if((k[b+(g*72|0)+48>>2]|0)==(d|0)){e=g;break a}if((e|0)<(h|0))g=e;else break}}else e=0;while(0);e=k[b+(e*72|0)+24>>2]|0;if(l<<16>>16<0)f=j[e+36>>1]|0;if((f|0)<0)f=20456;else f=k[(k[e+4>>2]|0)+(f*24|0)>>2]|0;if(n){oq(v,p,0,ph(w,k[m+(p*20|0)+8>>2]|0)|0,75);break}if(u){oq(v,p,0,f,-1);break}else{k[z>>2]=k[e>>2];k[z+4>>2]=f;oq(v,p,0,zh(w,27824,z)|0,75);break}}while(0);p=p+1|0;e=k[c>>2]|0}while((p|0)<(e|0))}f=k[y>>2]|0;k[z+4>>2]=b;k[z>>2]=a;if((e|0)>0){d=c+4|0;e=0;do{oq(f,e,1,Du(z,k[(k[d>>2]|0)+(e*20|0)>>2]|0,0)|0,-1);e=e+1|0}while((e|0)<(k[c>>2]|0))}}r=A;return}function Ts(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=r;r=r+16|0;if((r|0)>=(s|0))ka();e=m;g=b+8|0;if((k[g>>2]|0)==0?(ft(a),f=b+60|0,(k[f>>2]|0)!=0):0){i=a+72|0;j=(k[i>>2]|0)+1|0;k[i>>2]=j;k[g>>2]=j;l=Tq(a)|0;do if(Rs(k[f>>2]|0,e)|0){e=k[e>>2]|0;Bh(l,25,e,j,0)|0;if(!e){Bh(l,16,0,c,0)|0;break}if((e|0)>-1?(d=b+24|0,c=d,g=k[c+4>>2]|0,h=((e|0)<0)<<31>>31,g>>>0>h>>>0|((g|0)==(h|0)?(k[c>>2]|0)>>>0>e>>>0:0)):0){c=d;k[c>>2]=e;k[c+4>>2]=h}}else{Wq(a,k[f>>2]|0,j);Bh(l,38,j,0,0)|0;Bh(l,46,j,c,0)|0}while(0);e=k[b+64>>2]|0;if(e){h=k[i>>2]|0;c=h+1|0;k[b+12>>2]=c;k[i>>2]=h+2;Wq(a,e,c);Bh(l,38,c,0,0)|0;e=Bh(l,137,c,0,0)|0;Bh(l,25,0,c,0)|0;f=l+32|0;d=k[f>>2]|0;if(d>>>0>e>>>0)k[(k[l+4>>2]|0)+(e*20|0)+8>>2]=d;g=l+24|0;k[(k[g>>2]|0)+88>>2]=d+-1;d=h+2|0;Bh(l,89,j,c,d)|0;e=Bh(l,137,j,0,0)|0;Bh(l,25,-1,d,0)|0;d=k[f>>2]|0;if(d>>>0>e>>>0)k[(k[l+4>>2]|0)+(e*20|0)+8>>2]=d;k[(k[g>>2]|0)+88>>2]=d+-1}}r=m;return}function Us(a,b,c,d,e,f,g,h,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;F=k[a+8>>2]|0;A=i[g>>0]|0;u=A&255;w=g+4|0;D=k[w>>2]|0;if(!f)n=0;else n=l[f+1>>0]|0;if(!e)E=0;else E=(k[e>>2]|0)==0?0:e;z=(E|0)!=0;v=(n|0)!=0;if(!(z|v))nt(F,k[b+12>>2]|0,h);B=k[c>>2]|0;q=g+8|0;e=k[q>>2]|0;if(e){p=a+72|0;o=k[p>>2]|0;if((e+B|0)>(o|0)){k[p>>2]=o+B;C=e;x=0}else{C=e;x=0}}else{if(z){o=((i[E+24>>0]&1^1)&255)+(k[k[E>>2]>>2]|0)|0;C=a+72|0;p=o+(k[C>>2]|0)|0;k[C>>2]=p}else{p=k[a+72>>2]|0;o=0}C=p+1|0;k[q>>2]=C;k[a+72>>2]=p+B;x=o}k[g+12>>2]=B;do if((d|0)>-1){if((B|0)>0){p=0;do{Bh(F,47,d,p,p+C|0)|0;p=p+1|0}while((p|0)!=(B|0))}}else{if(A<<24>>24==9)o=1;else if(A<<24>>24==3)break;else o=A<<24>>24==13&1;gt(a,c,C,o)}while(0);if(v){o=l[f+1>>0]|0;if((o|0)==1)Eh(F,k[f+8>>2]|0);else if((o|0)==2){o=a+72|0;d=k[o>>2]|0;t=d+1|0;k[o>>2]=d+B;o=f+8|0;Eh(F,k[o>>2]|0);o=k[o>>2]|0;if((o|0)<0)o=(k[F+32>>2]|0)+-1|0;if(!(i[(k[F>>2]|0)+65>>0]|0))o=(k[F+4>>2]|0)+(o*20|0)|0;else o=29120;i[o>>0]=28;k[o+4>>2]=1;k[o+8>>2]=t;d=F+32|0;e=(k[d>>2]|0)+B|0;if((B|0)>0){p=c+4|0;o=B+-1|0;q=F+4|0;s=0;do{v=hu(a,k[(k[p>>2]|0)+(s*20|0)>>2]|0)|0;f=s+C|0;n=s+t|0;if((s|0)<(o|0))Bh(F,78,f,e,n)|0;else Bh(F,79,f,h,n)|0;Ch(F,-1,v,-4);r=k[q>>2]|0;if(r)i[r+(((k[d>>2]|0)+-1|0)*20|0)+3>>0]=-128;s=s+1|0}while((s|0)!=(B|0))}else o=B+-1|0;Bh(F,33,C,t,o)|0}else Eu(a,k[f+4>>2]|0,h,B,C);if(!E)nt(F,k[b+12>>2]|0,h)}a:do switch(u|0){case 12:case 14:case 6:case 5:{p=x+1|0;o=a+60|0;e=k[o>>2]|0;q=a+56|0;n=k[q>>2]|0;if((n|0)<(p|0)){y=a+72|0;e=k[y>>2]|0;k[y>>2]=e+p;e=e+1|0}else{k[o>>2]=e+p;k[q>>2]=n-p}n=e+x|0;Bh(F,49,C,B,n)|0;if(A<<24>>24==6){C=D+1|0;Ch(F,Bh(F,69,C,(k[F+32>>2]|0)+4|0,e)|0,0,-14);Bh(F,110,C,e,0)|0}if(z)Fu(a,E,b,n,1,x);else{n=a+19|0;f=i[n>>0]|0;if(!(f<<24>>24)){C=a+72|0;f=(k[C>>2]|0)+1|0;k[C>>2]=f}else{f=f+-1<<24>>24;i[n>>0]=f;f=k[a+((f&255)<<2)+24>>2]|0}Bh(F,74,D,f,0)|0;Bh(F,75,D,e,f)|0;n=k[F+4>>2]|0;if(n)i[n+(((k[F+32>>2]|0)+-1|0)*20|0)+3>>0]=8;ds(a,f)}it(a,e,p);if((k[q>>2]|0)<(p|0)){k[q>>2]=p;k[o>>2]=e;y=94}else y=94;break}case 11:{e=g+1|0;B=Gu(k[k[c+4>>2]>>2]|0,i[e>>0]|0)|0;i[e>>0]=B;if(z){Fu(a,E,b,C,1,x);break a}f=a+19|0;n=i[f>>0]|0;if(!(n<<24>>24)){B=a+72|0;f=(k[B>>2]|0)+1|0;k[B>>2]=f}else{B=n+-1<<24>>24;i[f>>0]=B;f=k[a+((B&255)<<2)+24>>2]|0}Ch(F,Bh(F,49,C,1,f)|0,e,1);it(a,C,1);Bh(F,110,D,f,0)|0;ds(a,f);y=94;break}case 2:{Bh(F,111,D,C,B)|0;y=94;break}case 3:{Bh(F,25,1,D,0)|0;y=94;break}case 10:{if(z)Fu(a,E,b,C,1,x);else y=95;break}case 9:case 13:{if(z){Fu(a,E,b,C,B,x);break a}if(A<<24>>24==13){Bh(F,22,k[w>>2]|0,0,0)|0;y=95;break a}else{Bh(F,35,C,B,0)|0;it(a,C,B);y=94;break a}}case 1:{n=a+19|0;f=i[n>>0]|0;if(!(f<<24>>24)){A=a+72|0;f=(k[A>>2]|0)+1|0;k[A>>2]=f}else{f=f+-1<<24>>24;i[n>>0]=f;f=k[a+((f&255)<<2)+24>>2]|0}Bh(F,49,C,B,f)|0;Bh(F,110,D,f,0)|0;ds(a,f);y=94;break}case 7:case 8:{r=k[g+16>>2]|0;d=k[r>>2]|0;n=a+19|0;f=i[n>>0]|0;if(!(f<<24>>24)){z=a+72|0;s=(k[z>>2]|0)+1|0;k[z>>2]=s}else{s=f+-1<<24>>24;i[n>>0]=s;s=k[a+((s&255)<<2)+24>>2]|0}t=d+2|0;u=a+60|0;e=k[u>>2]|0;v=a+56|0;n=k[v>>2]|0;if((n|0)<(t|0)){z=a+72|0;e=k[z>>2]|0;k[z>>2]=e+t;e=e+1|0}else{k[u>>2]=e+t;k[v>>2]=n-t}q=e+d|0;o=q+1|0;if(A<<24>>24==8){n=D+1|0;f=Bh(F,69,n,0,C)|0;Ch(F,f,B,-14);Bh(F,49,C,B,o)|0;Bh(F,110,n,o,0)|0;n=k[F+4>>2]|0;if(!n)p=f;else{i[n+(((k[F+32>>2]|0)+-1|0)*20|0)+3>>0]=16;p=f}}else{Bh(F,49,C,B,o)|0;p=0}if((d|0)>0){o=r+4|0;n=C+-1|0;f=0;do{Bh(F,34,n+(m[(k[o>>2]|0)+(f*20|0)+16>>1]|0)|0,f+e|0,0)|0;f=f+1|0}while((f|0)!=(d|0))}Bh(F,73,D,q,0)|0;Bh(F,49,e,t,s)|0;Bh(F,110,D,s,0)|0;if(p){n=k[F+32>>2]|0;if(n>>>0>p>>>0)k[(k[F+4>>2]|0)+(p*20|0)+8>>2]=n;k[(k[F+24>>2]|0)+88>>2]=n+-1}ds(a,s);it(a,e,t);if((k[v>>2]|0)<(t|0)){k[v>>2]=t;k[u>>2]=e;y=94}else y=94;break}default:y=94}while(0);if((y|0)==94?(E|0)==0:0)y=95;if((y|0)==95?(G=k[b+8>>2]|0,(G|0)!=0):0)Bh(F,140,G,j,0)|0;return}function Vs(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0;l=r;r=r+16|0;if((r|0)>=(s|0))ka();j=l;if((i[a+450>>0]|0)==2){g=k[a+8>>2]|0;h=k[a>>2]|0;f=(e|0)!=0?35160:10360;if((b|0)==117)e=35352;else if((b|0)==116)e=35320;else if((b|0)==118)e=35336;else e=35360;k[j>>2]=c;k[j+4>>2]=d;k[j+8>>2]=f;k[j+12>>2]=e;e=zh(h,35120,j)|0;Ch(g,Bh(g,157,k[a+464>>2]|0,0,0)|0,e,-1)}r=l;return}function Ws(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=c+b|0;e=(d*5|0)+24|0;f=vg(e,0)|0;if(!f)i[a+65>>0]=1;else{kw(f|0,0,e|0)|0;k[f+16>>2]=f+20+(d<<2);j[f+6>>1]=b;j[f+8>>1]=c;i[f+4>>0]=i[a+62>>0]|0;k[f+12>>2]=a;k[f>>2]=1}return f|0}function Xs(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=k[b+52>>2]|0;if(!((e|0)!=0?(d=Xs(a,e,c)|0,(d|0)!=0):0)){d=k[b>>2]|0;if((k[d>>2]|0)>(c|0))d=hu(a,k[(k[d+4>>2]|0)+(c*20|0)>>2]|0)|0;else d=0}return d|0}function Ys(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;e=(a|0)==0;d=(b|0)==0;a:do if(!(e&d))if(!(e|d)?(f=k[a>>2]|0,(f|0)==(k[b>>2]|0)):0)if((f|0)>0){a=k[a+4>>2]|0;d=k[b+4>>2]|0;e=0;while(1){if((i[a+(e*20|0)+12>>0]|0)!=(i[d+(e*20|0)+12>>0]|0)){d=1;break a}if(Hu(k[a+(e*20|0)>>2]|0,k[d+(e*20|0)>>2]|0,c)|0){d=1;break a}e=e+1|0;if((e|0)>=(f|0)){d=0;break}}}else d=0;else d=1;else d=0;while(0);return d|0}function Zs(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0;e=k[a>>2]|0;l=k[b>>2]|0;j=Ws(e,l-c|0,d+1|0)|0;if((j|0)!=0&(l|0)>(c|0)){f=e+8|0;g=j+16|0;h=c;d=(k[b+4>>2]|0)+(c*20|0)|0;while(1){e=hu(a,k[d>>2]|0)|0;if(!e)e=k[f>>2]|0;b=h-c|0;k[j+(b<<2)+20>>2]=e;i[(k[g>>2]|0)+b>>0]=i[d+12>>0]|0;h=h+1|0;if((h|0)==(l|0))break;else d=d+20|0}}return j|0}function _s(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0;Ma=r;r=r+64|0;if((r|0)>=(s|0))ka();Ka=Ma;La=Ma+48|0;Ja=Ma+52|0;Y=Ma+28|0;Ha=a+8|0;da=k[Ha>>2]|0;Ia=k[a>>2]|0;k[Y+0>>2]=0;k[Y+4>>2]=0;k[Y+8>>2]=0;k[Y+12>>2]=0;k[Y+16>>2]=0;if(!d)P=0;else P=(k[d>>2]|0)>63?0:d;Z=Y+8|0;k[Z>>2]=P;_=Ia+60|0;if(j[_>>1]&32)f=f&64511;d=k[b>>2]|0;a:do if((d|0)<=64){H=f&65535;K=(H&64|0)!=0;U=K?1:d;u=(U*80|0)+743&-16;h=u+72|0;d=rh(Ia,h,0)|0;Ga=(d|0)==0;if(!Ga)kw(d|0,0,h|0)|0;xa=Ia+65|0;if(i[xa>>0]|0){rg(Ia,d);d=0;break}ba=d+60|0;ca=d+64|0;k[ca>>2]=-1;k[ba>>2]=-1;ya=d+41|0;i[ya>>0]=U;k[d>>2]=a;za=d+4|0;k[za>>2]=b;$=d+8|0;k[$>>2]=P;k[d+12>>2]=e;Ba=Cs(da)|0;Aa=d+48|0;k[Aa>>2]=Ba;o=d+52|0;k[o>>2]=Ba;Ba=d+34|0;j[Ba>>1]=f;Ca=a+424|0;Da=d+56|0;k[Da>>2]=k[Ca>>2];Ea=d+68|0;k[Y>>2]=d;Fa=d+328|0;X=Y+4|0;k[X>>2]=Fa;S=Y+12|0;k[S>>2]=d+u;k[d+(u+48)>>2]=d+(u+56);j[d+(u+40)>>1]=0;j[d+(u+44)>>1]=3;k[d+(u+36)>>2]=0;k[Ea>>2]=0;k[Fa>>2]=d;k[d+332>>2]=0;va=d+340|0;k[va>>2]=0;k[d+344>>2]=8;wa=d+348|0;k[wa>>2]=d+352;Iu(Fa,c,72);y=(U|0)==0;if((k[d+340>>2]|0)>0){x=Ka+20|0;w=Ka+4|0;h=Ka+24|0;c=Fa;n=0;do{if(!y){c=k[(k[c+20>>2]|0)+(n*48|0)>>2]|0;k[Ka+0>>2]=0;k[Ka+4>>2]=0;k[Ka+8>>2]=0;k[Ka+12>>2]=0;k[Ka+16>>2]=0;k[Ka+20>>2]=0;i[x>>0]=2;k[Ka>>2]=78;k[w>>2]=79;k[h>>2]=0;ws(Ka,c)|0;c=k[X>>2]|0;if(i[x>>0]|0)ua=15}else ua=15;if((ua|0)==15){ua=0;lt(a,k[(k[c+20>>2]|0)+(n*48|0)>>2]|0,k[o>>2]|0,16);c=k[X>>2]|0;aa=(k[c+20>>2]|0)+(n*48|0)+20|0;j[aa>>1]=m[aa>>1]|4}n=n+1|0}while((n|0)<(k[c+12>>2]|0))}if(y){if(P)i[d+36>>0]=k[P>>2];if(H&1024)i[d+40>>0]=1}if((k[b>>2]|0)>0){u=0;do{O=k[b+(u*72|0)+48>>2]|0;aa=k[Ea>>2]|0;k[Ea>>2]=aa+1;k[Ea+(aa<<2)+4>>2]=O;u=u+1|0}while((u|0)<(k[b>>2]|0))}p=k[va>>2]|0;if((p|0)>0)do{p=p+-1|0;Ju(Fa,p)}while((p|0)>0);b:do if(!(i[xa>>0]|0)){aa=(H&1024|0)==0;c:do if(!aa){d:do if((k[b>>2]|0)==1){G=k[b+48>>2]|0;n=k[b+24>>2]|0;x=k[e>>2]|0;e:do if((x|0)>0){w=k[e+4>>2]|0;h=0;while(1){c=k[w+(h*20|0)>>2]|0;f:do if(!c)c=0;else while(1){y=k[c+4>>2]|0;if(!(y&4096))break f;if(!(y&262144))c=c+12|0;else c=k[(k[c+20>>2]|0)+4>>2]|0;c=k[c>>2]|0;if(!c){c=0;break}}while(0);do if((i[c>>0]|0)==-102){if((k[c+28>>2]|0)!=(G|0))break;if((j[c+32>>1]|0)<0)break e}while(0);h=h+1|0;if((h|0)>=(x|0)){ua=41;break}}}else ua=41;while(0);g:do if((ua|0)==41){c=k[n+8>>2]|0;if(!c)break d;o=e+4|0;n=n+4|0;while(1){if(i[c+50>>0]|0){C=c+46|0;h:do if(!(j[C>>1]|0))y=0;else{E=c+4|0;D=c+32|0;y=0;do{B=j[(k[E>>2]|0)+(y<<1)>>1]|0;if(!(Ku(Fa,G,B,-1,-1,2,c)|0)){h=k[(k[D>>2]|0)+(y<<2)>>2]|0;if((k[e>>2]|0)>0)x=0;else break h;i:while(1){z=k[(k[o>>2]|0)+(x*20|0)>>2]|0;j:do if(!z)w=0;else{w=z;while(1){A=k[w+4>>2]|0;if(!(A&4096))break j;if(!(A&262144))w=w+12|0;else w=k[(k[w+20>>2]|0)+4>>2]|0;w=k[w>>2]|0;if(!w){w=0;break}}}while(0);do if((i[w>>0]|0)==-102){if((j[w+32>>1]|0)!=(j[(k[E>>2]|0)+(y<<1)>>1]|0))break;if((k[w+28>>2]|0)!=(G|0))break;w=hu(a,z)|0;if(!w)break;if(!(id(k[w>>2]|0,h)|0))break i}while(0);x=x+1|0;if((x|0)>=(k[e>>2]|0))break h}if((x|0)<0)break h;if(!(i[(k[n>>2]|0)+(B*24|0)+20>>0]|0))break h}y=y+1|0}while((y|0)<(m[C>>1]|0))}while(0);if((y|0)==(m[C>>1]|0))break g}c=k[c+20>>2]|0;if(!c)break d}}while(0);i[d+40>>0]=1;break c}while(0);if(!P){j[Ba>>1]=m[Ba>>1]|512;k[$>>2]=e}}while(0);k:do if((((U|0)==1?(W=k[Y>>2]|0,V=W+34|0,(j[V>>1]&32)==0):0)?(R=k[W+4>>2]|0,N=k[R+24>>2]|0,(i[N+44>>0]&16)==0):0)?(k[R+72>>2]|0)==0:0){P=k[R+48>>2]|0;z=W+328|0;O=k[S>>2]|0;G=O+36|0;k[G>>2]=0;j[O+42>>1]=0;v=Ku(z,P,-1,0,0,2,0)|0;l:do if(!v){x=k[N+8>>2]|0;m:do if(x){A=O+48|0;n:while(1){do if(i[x+50>>0]|0){if(k[x+36>>2]|0)break;w=x+46|0;c=j[w>>1]|0;if((c&65535)>3)break;o=x+4|0;o:do if(!(c<<16>>16)){c=0;y=0}else{y=0;while(1){c=Ku(z,P,j[(k[o>>2]|0)+(y<<1)>>1]|0,0,0,2,x)|0;if(!c)break;k[(k[A>>2]|0)+(y<<2)>>2]=c;y=y+1|0;c=j[w>>1]|0;if((y|0)>=(c&65535|0))break o}c=j[w>>1]|0}while(0);if((y|0)==(c&65535|0)){A=y;break n}}while(0);x=k[x+20>>2]|0;if(!x)break m}k[G>>2]=4609;if(!(i[x+51>>0]&32)){n=R+64|0;h=k[n>>2]|0;n=k[n+4>>2]|0;w=0;v=0;c=m[x+48>>1]|0;p:while(1){y=c;while(1){c=y+-1|0;if((y|0)<=0)break p;y=j[(k[o>>2]|0)+(c<<1)>>1]|0;if((y&65535)<63)break;else y=c}Y=nw(1,0,y<<16>>16|0)|0;w=Y|w;v=L|v}if((h&~w|0)==0&(n&~v|0)==0)ua=91}else ua=91;if((ua|0)==91)k[G>>2]=4673;Y=A&65535;j[O+40>>1]=Y;j[O+24>>1]=Y;k[O+28>>2]=x;j[O+20>>1]=39;break l}while(0);if(!(k[G>>2]|0)){ua=103;break k}}else{k[G>>2]=4353;k[k[O+48>>2]>>2]=v;j[O+40>>1]=1;j[O+24>>1]=1;j[O+20>>1]=33}while(0);j[O+22>>1]=1;k[W+800>>2]=O;o=k[W+68>>2]|0;q:do if((o|0)>0){p=0;while(1){if((k[W+(p<<2)+72>>2]|0)==(P|0))break;p=p+1|0;if((p|0)>=(o|0)){p=0;o=0;break q}}p=nw(1,0,p|0)|0;o=L}else{p=0;o=0}while(0);n=O+8|0;k[n>>2]=p;k[n+4>>2]=o;k[W+740>>2]=P;j[W+32>>1]=1;n=k[W+8>>2]|0;if(n)i[W+36>>0]=k[n>>2];if(!(j[V>>1]&1024)){ua=120;break}i[W+40>>0]=1;ua=120}else ua=103;while(0);if((ua|0)==103){C=k[Y>>2]|0;c=k[C+4>>2]|0;D=k[k[C>>2]>>2]|0;W=i[C+41>>0]|0;E=W&255;w=k[S>>2]|0;k[w+48>>2]=w+56;j[w+40>>1]=0;j[w+44>>1]=3;k[w+36>>2]=0;h=D+65|0;r:do if(W<<24>>24){n=w+16|0;o=C+68|0;p=w+8|0;q=0;t=0;u=0;v=0;B=0;A=c+8|0;z=0;while(1){i[n>>0]=B;y=k[A+40>>2]|0;x=k[o>>2]|0;s:do if((x|0)>0){c=0;while(1){if((k[C+(c<<2)+72>>2]|0)==(y|0))break;c=c+1|0;if((c|0)>=(x|0)){c=0;y=0;break s}}c=nw(1,0,c|0)|0;y=L}else{c=0;y=0}while(0);W=p;k[W>>2]=c;k[W+4>>2]=y;W=z;z=i[A+36>>0]|0;W=((z|W)&10)==0;t=W?t:q;v=W?v:u;if(!(i[(k[A+16>>2]|0)+44>>0]&16))c=Mu(Y,t,v)|0;else c=Lu(Y,t,v)|0;if(c)break;W=Nu(Y,t,v)|0;c=p;if(W)break;if(i[h>>0]|0)break r;B=B+1|0;if((B|0)>=(E|0))break r;else{q=k[c>>2]|q;u=k[c+4>>2]|u;A=A+72|0}}Ou(D,w);break b}while(0);Ou(D,w);Pu(d,0);if(i[xa>>0]|0)break;if(k[$>>2]|0){Pu(d,(m[d+32>>1]|0)+1&65535);if(!(i[xa>>0]|0))ua=120;else break}else ua=121}if((ua|0)==120?(k[$>>2]|0)==0:0)ua=121;if((ua|0)==121?(k[Ia+24>>2]&131072|0)!=0:0){$=d+24|0;k[$>>2]=-1;k[$+4>>2]=-1}if((k[a+64>>2]|0)==0?(i[xa>>0]|0)==0:0){u=i[ya>>0]|0;t:do if((u&255)>1&(e|0)!=0?(j[_>>1]&1024)==0:0){n=Qu(Ea,e)|0;o=L;h=k[Z>>2]|0;if(h){$=Qu(Ea,h)|0;n=$|n;o=L|o}y=d+736|0;c=k[za>>2]|0;x=k[X>>2]|0;w=x+20|0;x=x+12|0;v=u;h=U;do{p=k[y+(((v&255)+-1|0)*80|0)+64>>2]|0;if(!(i[c+((l[p+16>>0]|0)*72|0)+44>>0]&8))break t;if(aa?(k[p+36>>2]&4096|0)==0:0)break t;t=p+8|0;q=k[t>>2]|0;t=k[t+4>>2]|0;if(!((q&n|0)==0&(t&o|0)==0))break t;p=k[w>>2]|0;$=k[x>>2]|0;u=p+($*48|0)|0;if(($|0)>0)do{$=p+40|0;if(!((q&k[$>>2]|0)==0?(t&k[$+4>>2]|0)==0:0)?(k[(k[p>>2]|0)+4>>2]&1|0)==0:0)break t;p=p+48|0}while(p>>>0<u>>>0);v=v+-1<<24>>24;i[ya>>0]=v;h=h+-1|0}while((v&255)>1)}else h=U;while(0);aa=(k[d>>2]|0)+424|0;k[aa>>2]=(k[aa>>2]|0)+(j[d+32>>1]|0);do if((H&4|0)!=0?(T=(k[d+800>>2]|0)+36|0,Q=k[T>>2]|0,(Q&4096|0)!=0):0){i[d+38>>0]=1;if(i[(k[b+24>>2]|0)+44>>0]&32)break;k[T>>2]=Q&-65}while(0);ta=d+736|0;P=(h|0)>0;if(P){M=H&16;N=d+38|0;O=da+32|0;I=K^1;K=(g|0)==0|I;J=a+68|0;G=54-(H>>>12&1)|0;F=da+4|0;B=Ia+20|0;z=Ia+16|0;q=0;H=ta;while(1){A=l[H+44>>0]|0;C=b+(A*72|0)+24|0;o=k[C>>2]|0;c=k[o+68>>2]|0;u:do if(!c)w=-1e6;else{y=k[B>>2]|0;if((y|0)<=0){w=0;break}x=k[z>>2]|0;n=0;while(1){w=n+1|0;if((k[x+(n<<4)+12>>2]|0)==(c|0)){w=n;break u}if((w|0)<(y|0))n=w;else break}}while(0);E=k[H+64>>2]|0;D=o+44|0;c=l[D>>0]|0;do if(!(c&2)){if(k[o+12>>2]|0)break;y=k[E+36>>2]|0;if(y&1024){v=k[o+60>>2]|0;v:do if(!v)v=0;else while(1){if((k[v>>2]|0)==(Ia|0))break v;v=k[v+24>>2]|0;if(!v){v=0;break}}while(0);Ch(da,Bh(da,149,k[b+(A*72|0)+48>>2]|0,0,0)|0,v,-10);break}if(c&16)break;if(y&64|M){ls(a,w,k[o+32>>2]|0,0,k[o>>2]|0);break}x=b+(A*72|0)+48|0;if(!(i[N>>0]|0))c=54;else{k[ba>>2]=k[x>>2];c=55}Vq(a,k[x>>2]|0,w,o,c);if(i[N>>0]|0)break;if((j[o+38>>1]|0)>=64)break;if(i[D>>0]&32)break;x=b+(A*72|0)+64|0;v=k[x>>2]|0;x=k[x+4>>2]|0;if((v|0)==0&(x|0)==0)u=0;else{u=0;do{v=rw(v|0,x|0,1)|0;x=L;u=u+1|0}while(!((v|0)==0&(x|0)==0))}Ch(da,(k[O>>2]|0)+-1|0,u,-14)}while(0);y=E+36|0;w:do if(k[y>>2]&512){c=k[E+28>>2]|0;do if(i[D>>0]&32){if((i[c+51>>0]&3)!=2|I)break;k[H+8>>2]=k[H+4>>2];break w}while(0);do if(!(i[N>>0]|0)){if(!K){u=g;t=G;break}u=k[J>>2]|0;k[J>>2]=u+1;t=54}else{t=k[(k[C>>2]|0)+8>>2]|0;if((t|0)==0|(t|0)==(c|0))u=g;else{u=g;do{u=u+1|0;t=k[t+20>>2]|0}while(!((t|0)==0|(t|0)==(c|0)))}k[ca>>2]=u;t=55}while(0);k[H+8>>2]=u;Bh(da,t,u,k[c+40>>2]|0,w)|0;aa=k[Ha>>2]|0;Ch(aa,-1,ms(a,c)|0,-6);aa=k[y>>2]|0;if(!((aa&15|0)!=0&(aa&32770|0)==0))break;if(j[Ba>>1]&1)break;p=k[F>>2]|0;if(!p)break;i[p+(((k[O>>2]|0)+-1|0)*20|0)+3>>0]=2}while(0);if((w|0)>-1)Fr(a,w);q=q+1|0;if((q|0)==(h|0))break;else H=H+80|0}ca=(i[xa>>0]|0)==0;k[d+44>>2]=k[O>>2];if(!ca)break}else{O=da+32|0;k[d+44>>2]=k[O>>2]}if(!P)break a;ga=d+24|0;ha=d+36|0;ia=d+39|0;ja=a+80|0;la=a+68|0;ma=a+100|0;na=a+19|0;oa=a+72|0;pa=Ka+20|0;qa=Ka+4|0;ra=Ka+24|0;o=-1;n=-1;sa=0;while(1){V=ta+(sa*80|0)|0;c=ta+(sa*80|0)+64|0;X=ta+(sa*80|0)+44|0;if(k[(k[c>>2]|0)+36>>2]&16384){G=l[X>>0]|0;R=b+(G*72|0)+8|0;W=k[Ha>>2]|0;v=Tq(a)|0;Y=k[ja>>2]|0;k[ja>>2]=Y+1;Y=Bh(v,44,Y,0,0)|0;v=k[b+(G*72|0)+24>>2]|0;ca=k[va>>2]|0;y=k[wa>>2]|0;Q=y+(ca*48|0)|0;I=k[c>>2]|0;x:do if((ca|0)>0){w=b+(G*72|0)+48|0;q=v+4|0;t=I+48|0;C=0;z=0;x=0;p=0;B=0;while(1){A=k[y>>2]|0;ca=I;do if((k[ca>>2]|0)==0&(k[ca+4>>2]|0)==0){if(j[y+20>>1]&2)break;if(k[A+4>>2]&1)break;ca=k[w>>2]|0;k[Ka+0>>2]=0;k[Ka+4>>2]=0;k[Ka+8>>2]=0;k[Ka+12>>2]=0;k[Ka+16>>2]=0;k[Ka+20>>2]=0;i[pa>>0]=3;k[Ka>>2]=78;k[qa>>2]=79;k[ra>>2]=ca;ws(Ka,A)|0;if(!(i[pa>>0]|0))break;ca=k[a>>2]|0;p=xs(ca,p,Rr(ca,A,0,0)|0)|0}while(0);do if(!(Ru(y,R,o,n)|0)){E=C;A=z;c=x}else{A=k[y+12>>2]|0;if((A|0)>63){E=0;D=-2147483648}else{E=nw(1,0,A|0)|0;D=L}if(!(B<<24>>24)){B=k[(k[q>>2]|0)+(A*24|0)>>2]|0;k[Ka>>2]=k[v>>2];k[Ka+4>>2]=B;gd(284,33960,Ka);B=1}if(!((E&C|0)==0&(D&z|0)==0)){E=C;A=z;c=x;break}c=x+1|0;if(Su(k[a>>2]|0,I,c)|0)break x;k[(k[t>>2]|0)+(x<<2)>>2]=y;E=E|C;A=D|z}while(0);y=y+48|0;if(y>>>0>=Q>>>0){y=E;ua=207;break}else{C=E;z=A;x=c}}}else{A=0;y=0;c=0;p=0;ua=207}while(0);do if((ua|0)==207){ua=0;q=c&65535;j[I+40>>1]=q;j[I+24>>1]=q;q=I+36|0;k[q>>2]=16961;H=b+(G*72|0)+64|0;J=H;D=k[J+4>>2]|0;J=k[J>>2]&~y;M=D&((A|-2147483648)^2147483647);u=v+38|0;N=j[u>>1]|0;E=N<<16>>16;N=N<<16>>16>63?63:E;P=(N|0)>0;if(P){A=0;do{ca=nw(1,0,A|0)|0;c=(((ca&J|0)!=0|(L&M|0)!=0)&1)+c|0;A=A+1|0}while((A|0)!=(N|0))}if((D|0)<0)c=c+-63+E|0;K=c+1|0;F=zs(k[a>>2]|0,K&65535,0,La)|0;if(!F)break;k[I+28>>2]=F;k[F>>2]=33992;k[F+12>>2]=v;A=k[wa>>2]|0;if(A>>>0<Q>>>0){c=F+4|0;y=F+32|0;D=0;E=0;x=0;do{do if(Ru(A,R,o,n)|0){C=k[A+12>>2]|0;if((C|0)>63){B=0;z=-2147483648}else{B=nw(1,0,C|0)|0;z=L}if(!((B&D|0)==0&(z&E|0)==0))break;ca=k[A>>2]|0;j[(k[c>>2]|0)+(x<<1)>>1]=C;C=Tu(a,k[ca+12>>2]|0,k[ca+16>>2]|0)|0;if(!C)C=11152;else C=k[C>>2]|0;k[(k[y>>2]|0)+(x<<2)>>2]=C;D=B|D;E=z|E;x=x+1|0}while(0);A=A+48|0}while(A>>>0<Q>>>0)}else x=0;if(P){A=F+4|0;z=F+32|0;c=0;do{ca=nw(1,0,c|0)|0;if(!((ca&J|0)==0&(L&M|0)==0)){j[(k[A>>2]|0)+(x<<1)>>1]=c;k[(k[z>>2]|0)+(x<<2)>>2]=11152;x=x+1|0}c=c+1|0}while((c|0)!=(N|0))}do if((k[H+4>>2]|0)<0){if((j[u>>1]|0)<=63)break;c=F+4|0;y=F+32|0;w=63;do{j[(k[c>>2]|0)+(x<<1)>>1]=w;k[(k[y>>2]|0)+(x<<2)>>2]=11152;x=x+1|0;w=w+1|0}while((w|0)<(j[u>>1]|0))}while(0);j[(k[F+4>>2]|0)+(x<<1)>>1]=-1;k[(k[F+32>>2]|0)+(x<<2)>>2]=11152;A=k[la>>2]|0;k[la>>2]=A+1;y=ta+(sa*80|0)+8|0;k[y>>2]=A;Bh(W,56,A,K,0)|0;A=k[Ha>>2]|0;Ch(A,-1,ms(a,F)|0,-6);k[ma>>2]=(k[ma>>2]|0)+1;A=ta+(sa*80|0)+4|0;t=Bh(W,108,k[A>>2]|0,0,0)|0;x=(p|0)!=0;if(x){w=Cs(W)|0;lt(a,p,w,16);k[q>>2]=k[q>>2]|131072}else w=0;c=i[na>>0]|0;if(!(c<<24>>24)){q=(k[oa>>2]|0)+1|0;k[oa>>2]=q}else{q=c+-1<<24>>24;i[na>>0]=q;q=k[a+((q&255)<<2)+24>>2]|0}Ut(a,F,k[A>>2]|0,q,0,0,0,0)|0;Bh(W,110,k[y>>2]|0,q,0)|0;z=W+4|0;c=k[z>>2]|0;if(c)i[c+(((k[W+32>>2]|0)+-1|0)*20|0)+3>>0]=16;if(x){y=k[W+24>>2]|0;x=~w;do if((w|0)<0){c=k[y+112>>2]|0;if(!c)break;k[c+(x<<2)>>2]=k[W+32>>2]}while(0);k[y+88>>2]=(k[W+32>>2]|0)+-1}Bh(W,9,k[A>>2]|0,t+1|0,0)|0;c=k[z>>2]|0;y=k[W+32>>2]|0;if(c)i[c+((y+-1|0)*20|0)+3>>0]=3;if(y>>>0>t>>>0)k[c+(t*20|0)+8>>2]=y;c=W+24|0;k[(k[c>>2]|0)+88>>2]=y+-1;ds(a,q);gu(a);u=k[W+32>>2]|0;if(u>>>0>Y>>>0)k[(k[z>>2]|0)+(Y*20|0)+8>>2]=u;k[(k[c>>2]|0)+88>>2]=u+-1}while(0);Lk(k[a>>2]|0,p);if(i[xa>>0]|0)break b}Uu(a,b,V,sa,l[X>>0]|0,f);k[ta+(sa*80|0)+32>>2]=k[O>>2];fa=k[d>>2]|0;K=fa+8|0;ba=k[K>>2]|0;da=k[fa>>2]|0;p=d+(sa*80|0)+736|0;J=k[d+(sa*80|0)+800>>2]|0;$=d+(sa*80|0)+780|0;G=l[$>>0]|0;E=k[za>>2]|0;N=E+(G*72|0)+8|0;g=k[E+(G*72|0)+48>>2]|0;y=k[Ea>>2]|0;y:do if((y|0)>0){c=0;while(1){if((k[Ea+(c<<2)+4>>2]|0)==(g|0))break;c=c+1|0;if((c|0)>=(y|0)){c=-1;y=-1;break y}}c=nw(1,0,c|0)|0;c=~c;y=~L}else{c=-1;y=-1}while(0);ea=d+(sa*80|0)+808|0;M=ea;k[M>>2]=c&o;k[M+4>>2]=y&n;M=ga;M=rw(k[M>>2]|0,k[M+4>>2]|0,sa|0)|0;_=M&1;T=J+36|0;if(!(k[T>>2]&64))v=0;else v=(j[Ba>>1]&32)==0;F=Cs(ba)|0;P=d+(sa*80|0)+752|0;k[P>>2]=F;aa=d+(sa*80|0)+748|0;k[aa>>2]=F;ca=Cs(ba)|0;k[d+(sa*80|0)+760>>2]=ca;do if(i[$>>0]|0){if(!(i[E+(G*72|0)+44>>0]&8))break;Z=fa+72|0;e=(k[Z>>2]|0)+1|0;k[Z>>2]=e;k[p>>2]=e;Bh(ba,25,0,e,0)|0}while(0);A=i[E+(G*72|0)+45>>0]|0;z:do if(!(A&4)){C=k[T>>2]|0;if(C&1024){q=j[J+40>>1]|0;t=q&65535;v=fa+100|0;k[v>>2]=(k[v>>2]|0)+1;v=t+2|0;F=fa+60|0;c=k[F>>2]|0;G=fa+56|0;y=k[G>>2]|0;if((y|0)<(v|0)){$=fa+72|0;u=k[$>>2]|0;k[$>>2]=u+v;u=u+1|0}else{k[F>>2]=c+v;k[G>>2]=y-v;u=c}c=k[aa>>2]|0;B=q<<16>>16==0;if(!B){D=u+2|0;C=J+48|0;E=0;do{A=D+E|0;z=k[(k[C>>2]|0)+(E<<2)>>2]|0;do if(z)if(!(j[z+18>>1]&1)){Wq(fa,k[(k[z>>2]|0)+16>>2]|0,A);break}else{Vu(fa,z,p,E,_,A)|0;c=k[P>>2]|0;break}while(0);E=E+1|0}while((E|0)<(t|0))}Bh(ba,25,k[J+24>>2]|0,u,0)|0;Bh(ba,25,t,u+1|0,0)|0;_=k[J+32>>2]|0;aa=J+28|0;$=(i[aa>>0]|0)!=0?-11:-2;Ch(ba,Bh(ba,14,g,c,u)|0,_,$);i[aa>>0]=0;if(!B){w=J+30|0;x=J+48|0;c=(q&65535)>1?0-t|0:-1;c=c>>>0>4294967280?0-c|0:16;y=0;do{if(m[w>>1]&1<<y)Wu(p,k[(k[x>>2]|0)+(y<<2)>>2]|0);y=y+1|0}while((y|0)!=(c|0))}i[d+(sa*80|0)+781>>0]=-105;k[d+(sa*80|0)+784>>2]=g;k[d+(sa*80|0)+788>>2]=k[ba+32>>2];it(fa,u,v);if((k[G>>2]|0)<(v|0)){k[G>>2]=v;k[F>>2]=u}gu(fa);ua=459;break}if(!((C&256|0)==0|(C&5|0)==0)){v=k[k[J+48>>2]>>2]|0;aa=fa+72|0;x=(k[aa>>2]|0)+1|0;k[aa>>2]=x;v=Vu(fa,v,p,0,_,x)|0;if((v|0)!=(x|0))ds(fa,x);ua=k[P>>2]|0;Bh(ba,38,v,ua,0)|0;Bh(ba,70,g,ua,v)|0;it(fa,v,1);Xu(fa,g,-1,v);i[d+(sa*80|0)+781>>0]=-100;ua=459;break}if((C&258|0)==258){if(!(C&32)){c=0;x=0}else{c=1;x=k[k[J+48>>2]>>2]|0}if(!(C&16))c=0;else c=k[(k[J+48>>2]|0)+(c<<2)>>2]|0;y=(_|0)!=0;w=y?x:c;c=y?c:x;if(!c)Bh(ba,y?105:108,g,F,0)|0;else{$=k[c>>2]|0;aa=eu(fa,k[$+16>>2]|0,Ka)|0;Bh(ba,l[33536+((l[$>>0]|0)+-80)>>0]|0,g,F,aa)|0;it(fa,aa,1);ds(fa,k[Ka>>2]|0);Wu(p,c)}if(!w){c=0;y=156}else{aa=k[w>>2]|0;$=fa+72|0;c=(k[$>>2]|0)+1|0;k[$>>2]=c;Wq(fa,k[aa+16>>2]|0,c);aa=i[aa>>0]|0;if(aa<<24>>24==80|aa<<24>>24==82)y=_<<1^83;else y=_<<1|80;Wu(p,w)}x=ba+32|0;aa=k[x>>2]|0;i[d+(sa*80|0)+781>>0]=_^9;k[d+(sa*80|0)+784>>2]=g;k[d+(sa*80|0)+788>>2]=aa;if((y|0)==156){ua=459;break}aa=fa+72|0;u=(k[aa>>2]|0)+1|0;k[aa>>2]=u;Bh(ba,103,g,u,0)|0;Xu(fa,g,-1,u);Bh(ba,y,c,F,u)|0;u=k[ba+4>>2]|0;if(!u){ua=459;break}i[u+(((k[x>>2]|0)+-1|0)*20|0)+3>>0]=83;ua=459;break}if(C&512){K=j[J+24>>1]|0;i[Ja>>0]=0;S=k[J+28>>2]|0;U=k[d+(sa*80|0)+744>>2]|0;do if(!(j[Ba>>1]&1)){D=0;A=0}else{if((i[ha>>0]|0)<=0){D=0;A=0;break}A=(m[S+46>>1]|0)>(K&65535);D=A&1;A=A&1}while(0);c=K&65535;if(!(C&32)){E=c;G=0}else{E=c+1|0;A=1;G=k[(k[J+48>>2]|0)+(c<<2)>>2]|0}do if(!(C&16))z=0;else{z=k[(k[J+48>>2]|0)+(E<<2)>>2]|0;if(j[z+20>>1]&256){$=fa+72|0;aa=(k[$>>2]|0)+1|0;k[$>>2]=aa;k[d+(sa*80|0)+772>>2]=aa;Bh(ba,25,(i[(k[S+28>>2]|0)+c>>0]|0)==1^_,aa,0)|0;k[d+(sa*80|0)+776>>2]=k[ba+32>>2]}if(G){A=1;break}A=j[(k[S+4>>2]|0)+(c<<1)>>1]|0;if(A<<16>>16<=-1){A=1;break}D=(i[(k[(k[S+12>>2]|0)+4>>2]|0)+((A<<16>>16)*24|0)+20>>0]|0)==0?1:D;A=1}while(0);I=Yu(fa,p,_,A,La)|0;H=k[La>>2]|0;F=(H|0)==0;if(!F)i[Ja>>0]=i[H+c>>0]|0;J=k[P>>2]|0;B=j[S+46>>1]|0;if((K&65535)<(B&65535)?!((i[(k[S+28>>2]|0)+c>>0]|0)==0^((M&1|0)!=0|0!=0)):0)ua=318;else if((_|0)!=0?B<<16>>16==K<<16>>16:0)ua=318;else{N=D;D=0;M=z;P=G}if((ua|0)==318){N=0;M=G;P=z}z=(P|0)!=0;if(z)B=(j[P+18>>1]&40)!=0;else B=1;C=B&1;G=(M|0)!=0;if(G)E=(j[M+18>>1]&40)!=0;else E=1;A=E&1;E=(z|K<<16>>16!=0)&1;do if(z){y=k[(k[P>>2]|0)+16>>2]|0;z=I+c|0;Wq(fa,y,z);if(j[P+20>>1]&256){if(!(i[(k[ba>>2]|0)+65>>0]|0))B=(k[ba+4>>2]|0)+(((k[ba+32>>2]|0)+-1|0)*20|0)|0;else B=29120;k[B+12>>2]=k[d+(sa*80|0)+772>>2];i[B+3>>0]=1}if(Zu(y)|0)Bh(ba,76,z,J,0)|0;do if(!F){B=H+c|0;if((Gu(y,i[B>>0]|0)|0)<<24>>24==65){i[B>>0]=65;z=65}else z=i[B>>0]|0;if(!(_u(y,z)|0))break;i[B>>0]=65}while(0);B=c+1|0}else{if(!(N<<24>>24)){B=c;break}Bh(ba,28,0,I+c|0,0)|0;B=c+1|0;C=0;E=1}while(0);$u(fa,I,B-(N&255)|0,H);Ch(ba,Bh(ba,l[33544+(E<<2|_|C<<1)>>0]|0,U,J,I)|0,B,-14);do if(G){y=k[(k[M>>2]|0)+16>>2]|0;x=I+c|0;it(fa,x,1);Wq(fa,y,x);if(j[M+20>>1]&256){if(!(i[(k[ba>>2]|0)+65>>0]|0))z=(k[ba+4>>2]|0)+(((k[ba+32>>2]|0)+-1|0)*20|0)|0;else z=29120;k[z+12>>2]=k[d+(sa*80|0)+772>>2];i[z+3>>0]=1}if(Zu(y)|0)Bh(ba,76,x,J,0)|0;do if((Gu(y,i[Ja>>0]|0)|0)<<24>>24!=65){if(_u(y,i[Ja>>0]|0)|0)break;$u(fa,x,1,Ja)}while(0);c=c+1|0}else{if(!(D<<24>>24))break;Bh(ba,28,0,I+c|0,0)|0;A=0;c=c+1|0}while(0);rg(da,H);k[d+(sa*80|0)+788>>2]=k[ba+32>>2];if(c)Ch(ba,Bh(ba,l[33552+(A|_<<1)>>0]|0,U,J,I)|0,c,-14);Wu(p,P);Wu(p,M);do if(!v){c=k[S+12>>2]|0;if(!(i[c+44>>0]&32)){$=fa+72|0;aa=(k[$>>2]|0)+1|0;k[$>>2]=aa;Bh(ba,112,U,aa,0)|0;Xu(fa,g,-1,aa);Bh(ba,66,g,aa,0)|0;break}if((g|0)==(U|0))break;c=k[c+8>>2]|0;A:do if(!c)A=0;else while(1){if((i[c+51>>0]&3)==2){A=c;break A}c=k[c+20>>2]|0;if(!c){A=0;break}}while(0);E=A+46|0;t=j[E>>1]|0;c=t&65535;y=fa+60|0;x=k[y>>2]|0;w=fa+56|0;q=k[w>>2]|0;if((q|0)<(c|0)){aa=fa+72|0;x=k[aa>>2]|0;k[aa>>2]=x+c;x=x+1|0}else{k[y>>2]=x+c;k[w>>2]=q-c}if(t<<16>>16){q=A+4|0;t=S+48|0;w=S+4|0;B=0;do{A=j[(k[q>>2]|0)+(B<<1)>>1]|0;c=j[t>>1]|0;B:do if(!(c<<16>>16))c=-1;else{z=k[w>>2]|0;y=c&65535;c=0;while(1){if((j[z+(c<<1)>>1]|0)==A<<16>>16)break B;c=c+1|0;if((c|0)>=(y|0)){c=-1;break}}}while(0);Bh(ba,47,U,c<<16>>16,B+x|0)|0;B=B+1|0;c=m[E>>1]|0}while((B|0)<(c|0))}Ch(ba,Bh(ba,68,g,ca,x)|0,c,-14)}while(0);x=k[T>>2]|0;do if(!(x&4096)){w=d+(sa*80|0)+781|0;if(!_){i[w>>0]=9;break}else{i[w>>0]=8;break}}else i[d+(sa*80|0)+781>>0]=-100;while(0);k[d+(sa*80|0)+784>>2]=U;i[d+(sa*80|0)+782>>0]=x>>>16&1;if(x&15){ua=459;break}i[d+(sa*80|0)+783>>0]=1;ua=459;break}if(!(C&8192))if(!(A&8)){i[d+(sa*80|0)+781>>0]=i[33560+_>>0]|0;k[d+(sa*80|0)+784>>2]=g;ua=(Bh(ba,l[33568+_>>0]|0,g,F,0)|0)+1|0;k[d+(sa*80|0)+788>>2]=ua;i[d+(sa*80|0)+783>>0]=1;ua=459;break}else{i[d+(sa*80|0)+781>>0]=-100;ua=459;break}F=fa+68|0;Z=k[F>>2]|0;k[F>>2]=Z+1;X=fa+72|0;Y=(k[X>>2]|0)+1|0;k[X>>2]=Y;_=Cs(ba)|0;W=k[E+(G*72|0)+24>>2]|0;e=k[k[J+48>>2]>>2]|0;P=k[e+12>>2]|0;i[d+(sa*80|0)+781>>0]=18;k[d+(sa*80|0)+784>>2]=Y;A=i[ya>>0]|0;do if((A&255)>1){E=(A&255)-sa|0;C=E+-1|0;B=rh(da,(C*72|0)+80|0,0)|0;if(!B)break z;A=E&255;k[B+4>>2]=A;k[B>>2]=A;A=B+8|0;G=A+0|0;z=N+0|0;c=G+72|0;do{k[G>>2]=k[z>>2];G=G+4|0;z=z+4|0}while((G|0)<(c|0));D=k[za>>2]|0;if((E|0)<2){V=B;break}else E=1;while(1){G=A+(E*72|0)+0|0;z=D+((l[d+((E+sa|0)*80|0)+780>>0]|0)*72|0)+8|0;c=G+72|0;do{k[G>>2]=k[z>>2];G=G+4|0;z=z+4|0}while((G|0)<(c|0));if((E|0)<(C|0))E=E+1|0;else{V=B;break}}}else V=k[za>>2]|0;while(0);if(!(j[Ba>>1]&8)){if(!(i[W+44>>0]&32)){A=(k[X>>2]|0)+1|0;k[X>>2]=A;Bh(ba,28,0,A,0)|0}else{A=k[W+8>>2]|0;C:do if(!A)A=0;else while(1){if((i[A+51>>0]&3)==2)break C;A=k[A+20>>2]|0;if(!A){A=0;break}}while(0);U=k[F>>2]|0;k[F>>2]=U+1;Bh(ba,57,U,m[A+46>>1]|0,0)|0;T=k[K>>2]|0;Ch(T,-1,ms(fa,A)|0,-6);A=U}T=(k[X>>2]|0)+1|0;k[X>>2]=T}else{T=0;A=0}U=Bh(ba,25,0,Y,0)|0;z=k[va>>2]|0;do if((z|0)>1){B=0;E=0;do{D=k[wa>>2]|0;S=D+(B*48|0)|0;C=k[S>>2]|0;do if((S|0)!=(e|0)){if(k[C+4>>2]&1)break;if(j[D+(B*48|0)+20>>1]&2)break;if(!(j[D+(B*48|0)+18>>1]&4095))break;E=xs(da,E,Rr(da,C,0,0)|0)|0;z=k[va>>2]|0}while(0);B=B+1|0}while((B|0)<(z|0));z=E;if(!z){S=0;break}S=cr(fa,72,0,z,0)|0}else S=0;while(0);R=P+12|0;do if((k[R>>2]|0)>0){u=P+20|0;t=(S|0)==0;q=W+44|0;w=ba+32|0;x=ba+4|0;z=ba+24|0;B=W+8|0;C=fa+60|0;D=fa+56|0;E=S+12|0;Q=0;y=0;c=0;v=240;while(1){G=k[u>>2]|0;if((k[G+(Q*48|0)+8>>2]|0)!=(g|0)?(j[G+(Q*48|0)+18>>1]&512)==0:0)G=v;else ua=407;do if((ua|0)==407){ua=0;G=k[G+(Q*48|0)>>2]|0;do if(!t){if(k[G+4>>2]&1)break;k[E>>2]=G;G=S}while(0);H=_s(fa,V,G,0,0,v,Z)|0;if(!H){G=v;break}Uu(fa,V,H+736|0,sa,l[$>>0]|0,0);do if(!(j[Ba>>1]&8)){K=(Q|0)==((k[R>>2]|0)+-1|0)?-1:Q;do if(!(i[q>>0]&32)){F=Bh(ba,130,A,0,ht(fa,W,-1,g,T,0)|0)|0;Ch(ba,F,K,-14)}else{G=k[B>>2]|0;D:do if(!G)G=0;else while(1){if((i[G+51>>0]&3)==2)break D;G=k[G+20>>2]|0;if(!G){G=0;break}}while(0);M=j[G+46>>1]|0;I=M&65535;P=k[C>>2]|0;N=k[D>>2]|0;if((N|0)<(I|0)){J=k[X>>2]|0;k[X>>2]=J+I;J=J+1|0}else{k[C>>2]=P+I;k[D>>2]=N-I;J=P}if(M<<16>>16){N=G+4|0;P=0;do{ht(fa,W,j[(k[N>>2]|0)+(P<<1)>>1]|0,g,P+J|0,0)|0;P=P+1|0}while((P|0)<(I|0))}P=(K|0)!=0;if(P){F=Bh(ba,69,A,0,J)|0;Ch(ba,F,I,-14);if((K|0)>-1)ua=426}else{F=0;ua=426}do if((ua|0)==426){ua=0;Bh(ba,49,J,I,T)|0;Bh(ba,110,A,T,0)|0;if(!P)break;K=k[x>>2]|0;if(!K)break;i[K+(((k[w>>2]|0)+-1|0)*20|0)+3>>0]=16}while(0);it(fa,J,I);if((k[D>>2]|0)>=(I|0))break;k[D>>2]=I;k[C>>2]=J}while(0);Bh(ba,17,Y,_,0)|0;if(!F)break;G=k[w>>2]|0;if(G>>>0>F>>>0)k[(k[x>>2]|0)+(F*20|0)+8>>2]=G;k[(k[z>>2]|0)+88>>2]=G+-1}else Bh(ba,17,Y,_,0)|0;while(0);c=(i[H+39>>0]|0)==0?c:1;G=k[H+800>>2]|0;do if(!(k[G+36>>2]&512)){y=0;G=v}else{if((Q|0)!=0?(k[G+28>>2]|0)!=(y|0):0){y=0;G=v;break}y=k[G+28>>2]|0;if((i[q>>0]&32)!=0?(i[y+51>>0]&3)==2:0){y=0;G=v;break}G=(v&65535|4096)&65535}while(0);at(H)}while(0);Q=Q+1|0;if((Q|0)>=(k[R>>2]|0))break;else v=G}k[d+(sa*80|0)+792>>2]=y;if(!y){q=c;break}k[d+(sa*80|0)+744>>2]=Z;q=c}else{k[d+(sa*80|0)+792>>2]=0;q=0}while(0);if(S){k[S+12>>2]=0;Lk(da,S)}w=ba+32|0;c=k[w>>2]|0;if(c>>>0>U>>>0)k[(k[ba+4>>2]|0)+(U*20|0)+4>>2]=c;Bh(ba,16,0,k[aa>>2]|0,0)|0;y=k[ba+24>>2]|0;x=~_;do if((_|0)<0){c=k[y+112>>2]|0;if(!c)break;k[c+(x<<2)>>2]=k[w>>2]}while(0);k[y+88>>2]=(k[w>>2]|0)+-1;if((l[ya>>0]|0)>1)rg(da,V);if(q){ua=459;break}Wu(p,e);ua=459}else{ua=k[E+(G*72|0)+36>>2]|0;Bh(ba,20,ua,0,k[E+(G*72|0)+32>>2]|0)|0;ua=Bh(ba,22,ua,F,0)|0;k[d+(sa*80|0)+788>>2]=ua;i[d+(sa*80|0)+781>>0]=16;ua=459}while(0);if((ua|0)==459){ua=0;c=k[va>>2]|0;do if((c|0)>0){u=d+(sa*80|0)+772|0;v=ba+32|0;z=ba+4|0;A=ba+24|0;t=k[wa>>2]|0;while(1){q=t+20|0;y=j[q>>1]|0;do if(!(y&6)){aa=t+40|0;$=ea;if(!((k[$>>2]&k[aa>>2]|0)==0?(k[$+4>>2]&k[aa+4>>2]|0)==0:0)){i[ia>>0]=1;break}x=k[t>>2]|0;if((k[p>>2]|0)!=0?(k[x+4>>2]&1|0)==0:0)break;do if(!(y&512))lt(fa,x,ca,16);else{w=Bh(ba,46,k[u>>2]|0,0,0)|0;lt(fa,x,ca,16);if(!w)break;y=k[v>>2]|0;if(y>>>0>w>>>0)k[(k[z>>2]|0)+(w*20|0)+8>>2]=y;k[(k[A>>2]|0)+88>>2]=y+-1}while(0);j[q>>1]=m[q>>1]|4}while(0);c=c+-1|0;if((c|0)<=0)break;else t=t+48|0}u=k[va>>2]|0;if((u|0)<=0){ua=475;break}w=k[wa>>2]|0;while(1){do if(!(j[w+20>>1]&6)){if((j[w+18>>1]|0)!=1026)break;if((k[w+8>>2]|0)!=(g|0))break;if(k[p>>2]|0)break;y=k[w>>2]|0;c=Ku(Fa,g,k[w+12>>2]|0,o,n,3,0)|0;if(!c)break;if(j[c+20>>1]&4)break;x=rh(da,48,0)|0;if(!x)break;G=x+0|0;z=(k[c>>2]|0)+0|0;c=G+48|0;do{k[G>>2]=k[z>>2];G=G+4|0;z=z+4|0}while((G|0)<(c|0));k[x+12>>2]=k[y+12>>2];lt(fa,x,ca,16);rg(da,x)}while(0);u=u+-1|0;if((u|0)<=0)break;else w=w+48|0}}else ua=475;while(0);if((ua|0)==475)ua=0;p=k[p>>2]|0;do if(p){k[d+(sa*80|0)+764>>2]=k[ba+32>>2];Bh(ba,25,1,p,0)|0;ft(fa);p=k[va>>2]|0;if((p|0)<=0)break;u=0;t=k[wa>>2]|0;while(1){o=t+20|0;do if(!(j[o>>1]&6)){ba=t+40|0;aa=ea;if(!((k[aa>>2]&k[ba>>2]|0)==0?(k[aa+4>>2]&k[ba+4>>2]|0)==0:0))break;lt(fa,k[t>>2]|0,ca,16);j[o>>1]=m[o>>1]|4;p=k[va>>2]|0}while(0);u=u+1|0;if((u|0)>=(p|0))break;else t=t+48|0}}while(0);n=ea;o=k[n>>2]|0;n=k[n+4>>2]|0}k[Aa>>2]=k[ta+(sa*80|0)+24>>2];sa=sa+1|0;if((sa|0)>=(h|0))break a}}}while(0);if(Ga)d=0;else{k[Ca>>2]=k[Da>>2];av(Ia,d);d=0}}else{k[Ka>>2]=64;yh(a,33504,Ka);d=0}while(0);r=Ma;return d|0}function $s(a){a=a|0;var b=0,c=0,d=0,e=0;e=a<<16>>16;do if(a<<16>>16>=10){a=(e|0)%10|0;b=((a|0)<0)<<31>>31;if(a>>>0>4){c=ow(a|0,b|0,-2,-1)|0;d=L}else{c=((a|0)!=0)<<31>>31;c=ow(c|0,((c|0)<0)<<31>>31|0,a|0,b|0)|0;d=L}b=((e|0)/10|0)<<16;a=b>>16;if((b|0)<=131072){b=ow(c|0,d|0,8,0)|0;a=rw(b|0,L|0,3-a|0)|0;b=L;break}if((b|0)>3932160){b=2147483647;a=-1}else{b=ow(c|0,d|0,8,0)|0;a=nw(b|0,L|0,a+-3|0)|0;b=L}}else{b=0;a=1}while(0);L=b;return a|0}function at(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;C=k[a>>2]|0;D=k[C+8>>2]|0;F=k[a+4>>2]|0;G=k[C>>2]|0;ft(C);H=a+41|0;c=i[H>>0]|0;if(!(c<<24>>24))b=D+24|0;else{b=D+24|0;p=D+32|0;r=D+4|0;o=c&255;do{o=o+-1|0;e=k[a+(o*80|0)+800>>2]|0;A=k[a+(o*80|0)+760>>2]|0;c=k[b>>2]|0;d=~A;if((A|0)<0?(s=k[c+112>>2]|0,(s|0)!=0):0)k[s+(d<<2)>>2]=k[p>>2];k[c+88>>2]=(k[p>>2]|0)+-1;B=a+(o*80|0)+781|0;d=i[B>>0]|0;if(d<<24>>24!=-100?(Bh(D,d&255,k[a+(o*80|0)+784>>2]|0,k[a+(o*80|0)+788>>2]|0,l[a+(o*80|0)+782>>0]|0)|0,u=k[r>>2]|0,(u|0)!=0):0)i[u+(((k[p>>2]|0)+-1|0)*20|0)+3>>0]=i[a+(o*80|0)+783>>0]|0;t=e+36|0;if((k[t>>2]&2048|0)!=0?(v=a+(o*80|0)+792|0,w=k[v>>2]|0,(w|0)>0):0){A=k[a+(o*80|0)+752>>2]|0;g=k[b>>2]|0;d=~A;if((A|0)<0?(x=k[g+112>>2]|0,(x|0)!=0):0){k[x+(d<<2)>>2]=k[p>>2];h=k[v>>2]|0;f=k[p>>2]|0;k[g+88>>2]=f+-1;c=a+(o*80|0)+796|0;if((h|0)>0)I=16}else{f=k[p>>2]|0;k[g+88>>2]=f+-1;c=a+(o*80|0)+796|0;h=w;I=16}if((I|0)==16){I=0;d=g;n=h;m=(k[c>>2]|0)+((h+-1|0)*12|0)|0;while(1){h=m+4|0;g=k[h>>2]|0;e=g+1|0;if(f>>>0>e>>>0)k[(k[r>>2]|0)+(e*20|0)+8>>2]=f;k[d+88>>2]=f+-1;Bh(D,l[m+8>>0]|0,k[m>>2]|0,g,0)|0;h=(k[h>>2]|0)+-1|0;f=k[p>>2]|0;if(f>>>0>h>>>0)k[(k[r>>2]|0)+(h*20|0)+8>>2]=f;d=k[b>>2]|0;k[d+88>>2]=f+-1;n=n+-1|0;if((n|0)<=0)break;else m=m+-12|0}}rg(G,k[c>>2]|0)}A=k[a+(o*80|0)+748>>2]|0;e=k[b>>2]|0;d=~A;if((A|0)<0?(q=k[e+112>>2]|0,(q|0)!=0):0)k[q+(d<<2)>>2]=k[p>>2];d=k[p>>2]|0;k[e+88>>2]=d+-1;e=a+(o*80|0)+756|0;c=k[e>>2]|0;if(c){Bh(D,16,0,c,0)|0;e=k[e>>2]|0;d=k[p>>2]|0;if(d>>>0>e>>>0)k[(k[r>>2]|0)+(e*20|0)+8>>2]=d;f=d+-1|0;c=(k[b>>2]|0)+88|0;k[c>>2]=f;e=e+-2|0;if(d>>>0>e>>>0)k[(k[r>>2]|0)+(e*20|0)+8>>2]=d;k[c>>2]=f}e=k[a+(o*80|0)+776>>2]|0;if(e){if(!(i[(k[D>>2]|0)+65>>0]|0))d=(k[r>>2]|0)+((((e|0)<1?d:e)+-1|0)*20|0)|0;else d=29120;Bh(D,(k[d+4>>2]|0)==0?141:140,k[a+(o*80|0)+772>>2]|0,e,0)|0}c=k[a+(o*80|0)+736>>2]|0;if(c){f=Bh(D,137,c,0,0)|0;c=k[t>>2]|0;if(!(c&64)){Bh(D,104,k[F+(o*72|0)+48>>2]|0,0,0)|0;c=k[t>>2]|0}if(c&512)Bh(D,104,k[a+(o*80|0)+744>>2]|0,0,0)|0;c=k[a+(o*80|0)+764>>2]|0;if((i[B>>0]|0)==18)Bh(D,17,k[a+(o*80|0)+784>>2]|0,c,0)|0;else Bh(D,16,0,c,0)|0;c=k[p>>2]|0;if(c>>>0>f>>>0)k[(k[r>>2]|0)+(f*20|0)+8>>2]=c;k[(k[b>>2]|0)+88>>2]=c+-1}}while((o|0)>0)}A=k[a+52>>2]|0;c=k[b>>2]|0;b=~A;if((A|0)<0?(y=k[c+112>>2]|0,(y|0)!=0):0)k[y+(b<<2)>>2]=k[D+32>>2];B=D+32|0;k[c+88>>2]=(k[B>>2]|0)+-1;if(i[H>>0]|0){u=a+34|0;v=a+38|0;w=a+64|0;x=G+65|0;y=D+4|0;z=0;A=a+736|0;while(1){e=l[A+44>>0]|0;f=k[F+(e*72|0)+24>>2]|0;d=k[A+64>>2]|0;if((i[F+(e*72|0)+45>>0]&4)!=0?(i[x>>0]|0)==0:0){g=k[B>>2]|0;d=k[A+32>>2]|0;if(!(i[(k[D>>2]|0)+65>>0]|0))c=(k[y>>2]|0)+(((d|0)<0?g+-1|0:d)*20|0)|0;else c=29120;if((d|0)<(g|0)){h=k[A+4>>2]|0;f=F+(e*72|0)+40|0;e=c;while(1){c=e+4|0;do if((k[c>>2]|0)==(h|0)){b=i[e>>0]|0;if(b<<24>>24==47){i[e>>0]=33;s=e+8|0;k[c>>2]=(k[f>>2]|0)+(k[s>>2]|0);t=e+12|0;k[s>>2]=k[t>>2];k[t>>2]=0;break}else if(b<<24>>24==103){i[e>>0]=28;k[c>>2]=0;k[e+12>>2]=0;break}else break}while(0);d=d+1|0;if((d|0)==(g|0))break;else e=e+20|0}}}else I=64;do if((I|0)==64){I=0;t=f+44|0;if(((i[t>>0]&2)==0?(k[f+12>>2]|0)==0:0)?(j[u>>1]&16)==0:0){c=k[d+36>>2]|0;if((i[v>>0]|0)==0&(c&64|0)==0)Bh(D,61,k[F+(e*72|0)+48>>2]|0,0,0)|0;if((c&17152|0)==512?(E=k[A+8>>2]|0,(E|0)!=(k[w>>2]|0)):0)Bh(D,61,E,0,0)|0}c=k[d+36>>2]|0;if(!(c&576)){if(!(c&8192))break;c=A+56|0}else c=d+28|0;d=k[c>>2]|0;if((d|0)!=0?(i[x>>0]|0)==0:0){r=k[B>>2]|0;h=k[A+32>>2]|0;if(!(i[(k[D>>2]|0)+65>>0]|0))g=(k[y>>2]|0)+(((h|0)<0?r+-1|0:h)*20|0)|0;else g=29120;if((h|0)<(r|0)){s=d+48|0;p=d+4|0;q=A+8|0;o=f+8|0;b=k[A+4>>2]|0;c=g;while(1){d=c+4|0;a:do if((k[d>>2]|0)==(b|0)){g=i[c>>0]|0;if(g<<24>>24==103){k[d>>2]=k[q>>2];i[c>>0]=112;break}else if(g<<24>>24!=47)break;e=c+8|0;g=k[e>>2]|0;if(i[t>>0]&32){f=o;while(1){f=k[f>>2]|0;if((i[f+51>>0]&3)==2)break;else f=f+20|0}g=j[(k[f+4>>2]|0)+(g<<1)>>1]|0}n=g&65535;g=j[s>>1]|0;if(g<<16>>16){f=k[p>>2]|0;m=g&65535;g=0;while(1){if((j[f+(g<<1)>>1]|0)==n<<16>>16)break;g=g+1|0;if((g|0)>=(m|0))break a}if((g&65535)<<16>>16>-1){k[e>>2]=g<<16>>16;k[d>>2]=k[q>>2]}}}while(0);h=h+1|0;if((h|0)==(r|0))break;else c=c+20|0}}}}while(0);z=z+1|0;if((z|0)>=(l[H>>0]|0))break;else A=A+80|0}}k[C+424>>2]=k[a+56>>2];av(G,a);return}function bt(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)!=0?(k[b>>2]|0)>0:0){c=0;d=k[b+4>>2]|0;while(1){bv(a,k[d>>2]|0);c=c+1|0;if((c|0)>=(k[b>>2]|0))break;else d=d+20|0}}return}function ct(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,t=0,u=0;u=r;r=r+16|0;if((r|0)>=(s|0))ka();p=u;d=k[a+24>>2]|0;q=k[d>>2]|0;g=k[d+4>>2]|0;t=k[d+12>>2]|0;c=l[b>>0]|0;a:do if((c|0)==154|(c|0)==156)if((g|0)!=0?(f=k[g>>2]|0,(f|0)>0):0){n=b+28|0;m=k[n>>2]|0;c=0;d=g+8|0;while(1){if((m|0)==(k[d+40>>2]|0))break;c=c+1|0;if((c|0)>=(f|0)){a=1;break a}else d=d+72|0}h=t+28|0;e=t+32|0;d=k[e>>2]|0;b:do if((d|0)>0){g=b+32|0;a=0;f=k[h>>2]|0;while(1){if((k[f+4>>2]|0)==(m|0)?(k[f+8>>2]|0)==(j[g>>1]|0):0)break b;a=a+1|0;if((a|0)<(d|0))f=f+24|0;else break}}else a=0;while(0);c:do if((a|0)>=(d|0)){d=Mt(k[q>>2]|0,k[h>>2]|0,24,e,p)|0;k[h>>2]=d;a=k[p>>2]|0;if((a|0)>-1){k[d+(a*24|0)>>2]=k[b+44>>2];e=k[n>>2]|0;k[d+(a*24|0)+4>>2]=e;f=j[b+32>>1]|0;k[d+(a*24|0)+8>>2]=f<<16>>16;n=q+72|0;g=(k[n>>2]|0)+1|0;k[n>>2]=g;k[d+(a*24|0)+16>>2]=g;g=d+(a*24|0)+12|0;k[g>>2]=-1;k[d+(a*24|0)+20>>2]=b;d=k[t+24>>2]|0;d:do if((d|0)!=0?(o=k[d>>2]|0,(o|0)>0):0){c=0;d=k[d+4>>2]|0;while(1){n=k[d>>2]|0;if(((i[n>>0]|0)==-102?(k[n+28>>2]|0)==(e|0):0)?(j[n+32>>1]|0)==f<<16>>16:0)break;c=c+1|0;if((c|0)>=(o|0))break d;else d=d+20|0}k[g>>2]=c;if((c|0)>=0)break c}while(0);n=t+12|0;o=k[n>>2]|0;k[n>>2]=o+1;k[g>>2]=o}}while(0);k[b+40>>2]=t;i[b>>0]=-100;j[b+34>>1]=a;a=1}else a=1;else if(((c|0)==155?(j[d+28>>1]&8)==0:0)?(k[a+16>>2]|0)==(l[b+38>>0]|0):0){f=t+40|0;g=t+44|0;c=k[g>>2]|0;e:do if((c|0)>0){a=0;d=k[f>>2]|0;while(1){if(!(Hu(k[d>>2]|0,b,-1)|0))break e;a=a+1|0;if((a|0)<(c|0))d=d+16|0;else break}}else a=0;while(0);do if((a|0)>=(c|0)){e=k[q>>2]|0;h=i[e+62>>0]|0;e=Mt(e,k[f>>2]|0,16,g,p)|0;k[f>>2]=e;a=k[p>>2]|0;if((a|0)>-1){k[e+(a<<4)>>2]=b;f=q+72|0;g=(k[f>>2]|0)+1|0;k[f>>2]=g;k[e+(a<<4)+8>>2]=g;g=k[q>>2]|0;f=k[b+8>>2]|0;if(!f)c=0;else{d=f;while(1)if(!(i[d>>0]|0))break;else d=d+1|0;c=d-f&1073741823}d=k[b+20>>2]|0;if(!d)d=0;else d=k[d>>2]|0;o=Xh(g,f,c,d,h,0)|0;k[e+(a<<4)+4>>2]=o;if(!(k[b+4>>2]&16)){k[e+(a<<4)+12>>2]=-1;break}else{n=q+68|0;o=k[n>>2]|0;k[n>>2]=o+1;k[e+(a<<4)+12>>2]=o;break}}}while(0);j[b+34>>1]=a;k[b+40>>2]=t;a=1}else a=0;while(0);r=u;return a|0}function dt(a,b){a=a|0;b=b|0;return 0}function et(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=r;r=r+16|0;if((r|0)>=(s|0))ka();c=d;if((i[a+450>>0]|0)==2){e=k[a+8>>2]|0;f=k[a>>2]|0;k[c>>2]=b;c=zh(f,35e3,c)|0;Ch(e,Bh(e,157,k[a+464>>2]|0,0,0)|0,c,-1)}r=d;return}function ft(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;b=a+19|0;g=0;h=a+116|0;while(1){c=h+12|0;d=k[c>>2]|0;if(d){e=h+6|0;if(i[e>>0]|0){f=i[b>>0]|0;if((f&255)<8){i[b>>0]=f+1<<24>>24;k[a+((f&255)<<2)+24>>2]=d}i[e>>0]=0}k[c>>2]=0}g=g+1|0;if((g|0)==10)break;else h=h+20|0}return}function gt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=r;r=r+32|0;if((r|0)>=(s|0))ka();x=z;e=d&255;o=34-(e&1)|0;t=k[b>>2]|0;if(!(i[a+23>>0]|0))d=e&253;if((t|0)>0){f=(d&2)==0;g=a+8|0;h=(o|0)==33;j=x+20|0;l=x+4|0;m=x+24|0;n=0;b=k[b+4>>2]|0;while(1){e=k[b>>2]|0;if(!f?(k[x+0>>2]=0,k[x+4>>2]=0,k[x+8>>2]=0,k[x+12>>2]=0,k[x+16>>2]=0,k[x+20>>2]=0,i[j>>0]=1,k[x>>2]=78,k[l>>2]=79,k[m>>2]=0,ws(x,e)|0,(i[j>>0]|0)!=0):0)Lt(a,e,n+c|0,0);else y=8;do if((y|0)==8?(y=0,p=n+c|0,q=ns(a,e,p)|0,(q|0)!=(p|0)):0){d=k[g>>2]|0;if(h){if(!(i[(k[d>>2]|0)+65>>0]|0))e=(k[d+4>>2]|0)+(((k[d+32>>2]|0)+-1|0)*20|0)|0;else e=29120;if(((i[e>>0]|0)==33?(u=e+12|0,v=k[u>>2]|0,((k[e+4>>2]|0)+1+v|0)==(q|0)):0)?(w=v+1|0,(w+(k[e+8>>2]|0)|0)==(p|0)):0){k[u>>2]=w;break}}Bh(d,o,q,p,0)|0}while(0);n=n+1|0;if((n|0)==(t|0))break;else b=b+20|0}}r=z;return}function ht(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,l=0,m=0,n=0;n=k[a+8>>2]|0;g=a+116|0;m=0;h=g;while(1){l=k[h+12>>2]|0;if(((l|0)>0?(k[h>>2]|0)==(d|0):0)?(j[h+4>>1]|0)==(c|0):0){e=l;m=5;break}m=m+1|0;if((m|0)>=10){m=10;break}else h=h+20|0}do if((m|0)==5){n=a+104|0;f=k[n>>2]|0;k[n>>2]=f+1;k[h+16>>2]=f;h=0;while(1){if((k[g+12>>2]|0)==(e|0))i[g+6>>0]=0;h=h+1|0;if((h|0)==10)break;else g=g+20|0}}else if((m|0)==10){st(n,b,d,c,e);if(!(f<<24>>24)){Xu(a,d,c,e);break}g=k[n+4>>2]|0;if(g)i[g+(((k[n+32>>2]|0)+-1|0)*20|0)+3>>0]=f}while(0);return e|0}function it(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0;c=b+-1+c|0;e=a+19|0;j=0;l=a+116|0;while(1){f=l+12|0;g=k[f>>2]|0;if(!((g|0)<(b|0)|(g|0)>(c|0))){h=l+6|0;if(i[h>>0]|0){d=i[e>>0]|0;if((d&255)<8){i[e>>0]=d+1<<24>>24;k[a+((d&255)<<2)+24>>2]=g}i[h>>0]=0}k[f>>2]=0}j=j+1|0;if((j|0)==10)break;else l=l+20|0}return}function jt(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=k[a+8>>2]|0;i[b>>0]=1;s=b+44|0;if((k[s>>2]|0)>0){t=A+4|0;v=a+56|0;w=a+60|0;o=A+24|0;p=A+32|0;q=b+36|0;r=a+72|0;x=0;y=k[b+40>>2]|0;c=0;while(1){h=k[(k[y>>2]|0)+20>>2]|0;if(!h){d=0;f=0}else{d=k[h>>2]|0;f=k[w>>2]|0;e=k[v>>2]|0;if((e|0)<(d|0)){f=k[r>>2]|0;k[r>>2]=f+d;f=f+1|0}else{k[w>>2]=f+d;k[v>>2]=e-d}gt(a,h,f,1)}e=y+12|0;if((k[e>>2]|0)>-1){n=Cs(A)|0;Eu(a,k[e>>2]|0,n,1,f)}else n=0;m=y+4|0;e=k[m>>2]|0;if(j[e+2>>1]&32){if((d|0)>0){l=0;h=k[h+4>>2]|0;while(1){e=hu(a,k[h>>2]|0)|0;l=l+1|0;g=(e|0)!=0;if(!((l|0)<(d|0)&(g^1)))break;else h=h+20|0}if(!g)z=15}else z=15;if((z|0)==15){z=0;e=k[(k[a>>2]|0)+8>>2]|0}if(!c)if(!(k[q>>2]|0))c=0;else{c=(k[r>>2]|0)+1|0;k[r>>2]=c}Ch(A,Bh(A,36,c,0,0)|0,e,-4);e=k[m>>2]|0}Ch(A,Bh(A,10,0,f,k[y+8>>2]|0)|0,e,-5);e=k[t>>2]|0;if(e)i[e+(((k[p>>2]|0)+-1|0)*20|0)+3>>0]=d;it(a,f,d);it(a,f,d);if((k[v>>2]|0)<(d|0)){k[v>>2]=d;k[w>>2]=f}if(n){f=k[o>>2]|0;e=~n;if((n|0)<0?(u=k[f+112>>2]|0,(u|0)!=0):0)k[u+(e<<2)>>2]=k[p>>2];k[f+88>>2]=(k[p>>2]|0)+-1;ft(a)}x=x+1|0;if((x|0)>=(k[s>>2]|0))break;else y=y+16|0}if(c)f=Bh(A,45,c,0,0)|0;else f=0}else f=0;ft(a);c=b+36|0;if((k[c>>2]|0)>0){d=0;e=k[b+28>>2]|0;while(1){Wq(a,k[e+20>>2]|0,k[e+16>>2]|0);d=d+1|0;if((d|0)>=(k[c>>2]|0))break;else e=e+24|0}}i[b>>0]=0;ft(a);if(f){c=k[A+32>>2]|0;if(c>>>0>f>>>0)k[(k[A+4>>2]|0)+(f*20|0)+8>>2]=c;k[(k[A+24>>2]|0)+88>>2]=c+-1}return}function kt(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=k[a+8>>2]|0;d=b+44|0;if((k[d>>2]|0)>0){e=0;b=k[b+40>>2]|0;while(1){a=k[(k[b>>2]|0)+20>>2]|0;if(!a)a=0;else a=k[a>>2]|0;f=k[b+4>>2]|0;Ch(c,Bh(c,142,k[b+8>>2]|0,a,0)|0,f,-5);e=e+1|0;if((e|0)>=(k[d>>2]|0))break;else b=b+16|0}}return}function lt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;n=r;r=r+16|0;if((r|0)>=(s|0))ka();j=n+4|0;m=n;h=k[a+8>>2]|0;k[j>>2]=0;k[m>>2]=0;if(!((h|0)==0|(b|0)==0)){o=l[b>>0]|0;e=o^1;a:do switch(o|0){case 19:{cv(a,k[b+12>>2]|0,c,d);break}case 77:case 76:{Bh(h,e,eu(a,k[b+12>>2]|0,j)|0,c,0)|0;break}case 148:case 73:{d=b+12|0;g=eu(a,k[d>>2]|0,j)|0;f=b+16|0;h=eu(a,k[f>>2]|0,m)|0;fu(a,k[d>>2]|0,k[f>>2]|0,(i[b>>0]|0)==73?78:79,g,h,c,128);break}case 79:case 78:case 83:case 80:case 81:case 82:{o=b+12|0;g=eu(a,k[o>>2]|0,j)|0;f=b+16|0;h=eu(a,k[f>>2]|0,m)|0;fu(a,k[o>>2]|0,k[f>>2]|0,e,g,h,c,d);break}case 75:{if(d){ku(a,b,c,c);break a}f=Cs(h)|0;ku(a,b,c,f);e=k[h+24>>2]|0;c=~f;if((f|0)<0?(g=k[e+112>>2]|0,(g|0)!=0):0)k[g+(c<<2)>>2]=k[h+32>>2];k[e+88>>2]=(k[h+32>>2]|0)+-1;break}case 71:{g=Cs(h)|0;cv(a,k[b+12>>2]|0,g,d^16);e=a+100|0;k[e>>2]=(k[e>>2]|0)+1;lt(a,k[b+16>>2]|0,c,d);c=k[h+24>>2]|0;e=~g;if((g|0)<0?(f=k[c+112>>2]|0,(f|0)!=0):0)k[f+(e<<2)>>2]=k[h+32>>2];k[c+88>>2]=(k[h+32>>2]|0)+-1;gu(a);break}case 72:{lt(a,k[b+12>>2]|0,c,d);h=a+100|0;k[h>>2]=(k[h>>2]|0)+1;lt(a,k[b+16>>2]|0,c,d);gu(a);break}case 74:{dv(a,b,c,0,d);break}default:{if(ru(b)|0){Bh(h,16,0,c,0)|0;break a}if(!(ev(b)|0))Bh(h,46,eu(a,b,j)|0,c,(d|0)!=0&1)|0}}while(0);ds(a,k[j>>2]|0);ds(a,k[m>>2]|0)}r=n;return}function mt(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+16|0;if((r|0)>=(s|0))ka();h=i;e=k[a+8>>2]|0;f=b+44|0;if((k[f>>2]|0)!=(0-(k[b+32>>2]|0)|0)?(Bh(e,28,0,k[b+16>>2]|0,k[b+20>>2]|0)|0,(k[f>>2]|0)>0):0){g=0;d=k[b+40>>2]|0;while(1){b=d+12|0;do if((k[b>>2]|0)>-1){c=k[(k[d>>2]|0)+20>>2]|0;if((c|0)!=0?(k[c>>2]|0)==1:0){c=Zs(a,c,0,0)|0;Ch(e,Bh(e,57,k[b>>2]|0,0,0)|0,c,-6);break}yh(a,34944,h);k[b>>2]=-1}while(0);g=g+1|0;if((g|0)>=(k[f>>2]|0))break;else d=d+16|0}}r=i;return}function nt(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if((b|0)>0){d=Bh(a,138,b,0,-1)|0;Bh(a,16,0,c,0)|0;b=k[a+32>>2]|0;if(b>>>0>d>>>0)k[(k[a+4>>2]|0)+(d*20|0)+8>>2]=b;k[(k[a+24>>2]|0)+88>>2]=b+-1}return}function ot(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;if((k[(k[a>>2]|0)+24>>2]&8388608|0)!=0?(f=Fs(a,b)|0,(f|0)!=0):0){a=0;b=f;do{if((l[b+8>>0]|0|0)==(c|0)?(fv(k[b+16>>2]|0,d)|0)!=0:0)a=l[b+9>>0]|0|a;b=k[b+32>>2]|0}while((b|0)!=0)}else{a=0;f=0}if(e)k[e>>2]=a;return ((a|0)!=0?f:0)|0}function pt(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;if((r|0)>=(s|0))ka();g=h;f=i[b+44>>0]|0;if(f&16){e=k[a>>2]|0;d=b+60|0;while(1){d=k[d>>2]|0;if((k[d>>2]|0)==(e|0))break;else d=d+24|0}if(!(k[(k[k[d+4>>2]>>2]|0)+52>>2]|0))e=8;else e=5}else e=5;do if((e|0)==5){if(((f&1)!=0?(k[(k[a>>2]|0)+24>>2]&2048|0)==0:0)?(i[a+18>>0]|0)==0:0){e=8;break}if((c|0)==0?(k[b+12>>2]|0)!=0:0){k[g>>2]=k[b>>2];yh(a,34456,g);d=1}else d=0}while(0);if((e|0)==8){k[g>>2]=k[b>>2];yh(a,34424,g);d=1}r=h;return d|0}function qt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;n=r;r=r+32|0;if((r|0)>=(s|0))ka();m=n;l=k[a>>2]|0;f=k[b+68>>2]|0;a:do if(f){e=k[l+20>>2]|0;if((e|0)>0){h=k[l+16>>2]|0;j=0;while(1){g=j+1|0;if((k[h+(j<<4)+12>>2]|0)==(f|0)){g=j;break a}if((g|0)<(e|0))j=g;else break}}else g=0}else g=-1e6;while(0);e=Rr(l,c,0,0)|0;f=ur(l,0,0,0)|0;if(f){c=ph(l,k[b>>2]|0)|0;k[f+16>>2]=c;c=ph(l,k[(k[l+16>>2]|0)+(g<<4)>>2]|0)|0;k[f+12>>2]=c}c=pr(a,0,f,e,0,0,0,0,0,0)|0;i[m>>0]=12;k[m+4>>2]=d;i[m+1>>0]=0;k[m+8>>2]=0;k[m+12>>2]=0;nr(a,c,m)|0;Rk(l,c,1);r=n;return}function rt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0;n=r;r=r+16|0;if((r|0)>=(s|0))ka();m=n+4|0;f=n;a:do if(k[(k[a>>2]|0)+24>>2]&524288){if(!c){d=gn((k[b+68>>2]|0)+56|0,k[b>>2]|0,f)|0;if((d|0)!=0?(k[d+8>>2]|0)!=0:0)e=1;else e=(k[b+16>>2]|0)!=0;e=e&1;break}a=k[b+16>>2]|0;if(a){i=b+36|0;l=(d|0)!=0;do{f=k[a+20>>2]|0;if((f|0)>0){h=0;do{g=k[a+(h<<3)+36>>2]|0;if((k[c+(g<<2)>>2]|0)>-1){e=1;break a}h=h+1|0;if((g|0)==(j[i>>1]|0)&l){e=1;break a}}while((h|0)<(f|0))}a=k[a+4>>2]|0}while((a|0)!=0)}f=gn((k[b+68>>2]|0)+56|0,k[b>>2]|0,m)|0;if((f|0)!=0?(e=k[f+8>>2]|0,(e|0)!=0):0)while(1){if(gv(b,e,c,d)|0){e=1;break a}e=k[e+12>>2]|0;if(!e){e=0;break}}else e=0}else e=0;while(0);r=n;return e|0}function st(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,m=0,n=0;if((d|0)>=0?(j[b+36>>1]|0)!=(d|0):0){f=l[b+44>>0]|0;n=(f&16|0)!=0?150:47;if(!(f&32))f=d;else{f=k[b+8>>2]|0;a:do if(!f)f=0;else while(1){if((i[f+51>>0]&3)==2)break a;f=k[f+20>>2]|0;if(!f){f=0;break}}while(0);m=d&65535;g=j[f+48>>1]|0;b:do if(!(g<<16>>16))f=-1;else{h=k[f+4>>2]|0;g=g&65535;f=0;while(1){if((j[h+(f<<1)>>1]|0)==m<<16>>16)break b;f=f+1|0;if((f|0)>=(g|0)){f=-1;break}}}while(0);f=f<<16>>16}Bh(a,n,c,f,e)|0}else Bh(a,103,c,e,0)|0;if((d|0)>-1)St(a,b,d,e);return}function tt(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=b+16|0;c=k[f>>2]|0;do if(!c){d=k[b+12>>2]|0;c=k[a>>2]|0;e=b+48|0;a=vg((m[e>>1]|0)+1|0,0)|0;k[f>>2]=a;if(!a){i[c+65>>0]=1;c=0;break}if(!(j[e>>1]|0))c=0;else{b=b+4|0;d=d+4|0;c=0;do{a=j[(k[b>>2]|0)+(c<<1)>>1]|0;if(a<<16>>16<0)a=68;else a=i[(k[d>>2]|0)+((a<<16>>16)*24|0)+21>>0]|0;i[(k[f>>2]|0)+c>>0]=a;c=c+1|0}while((c|0)<(m[e>>1]|0));a=k[f>>2]|0}i[a+c>>0]=0;c=k[f>>2]|0}while(0);return c|0}function ut(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=b+44|0;if(!(i[r>>0]&16)){j=k[a>>2]|0;m=k[b+68>>2]|0;a:do if(m){n=k[j+20>>2]|0;if((n|0)>0){j=k[j+16>>2]|0;l=0;while(1){h=l+1|0;if((k[j+(l<<4)+12>>2]|0)==(m|0))break a;if((h|0)<(n|0))l=h;else{l=h;break}}}else l=0}else l=-1e6;while(0);q=Tq(a)|0;if((d|0)<0)d=k[a+68>>2]|0;j=d+1|0;p=(f|0)!=0;if(p)k[f>>2]=d;do if(!(i[r>>0]&32)){if((e|0)!=0?(i[e>>0]|0)==0:0){o=15;break}Vq(a,d,l,b,c)}else o=15;while(0);if((o|0)==15)ls(a,l,k[b+32>>2]|0,(c|0)==55&1,k[b>>2]|0);if(g)k[g>>2]=j;d=k[b+8>>2]|0;if(!d)h=0;else{m=(e|0)==0;b=a+8|0;n=j;h=0;while(1){j=n+1|0;if((i[d+51>>0]&3)==2?(i[r>>0]&32)!=0&p:0)k[f>>2]=n;h=h+1|0;if(!(!m?(i[e+h>>0]|0)==0:0)){Bh(q,c,n,k[d+40>>2]|0,l)|0;o=k[b>>2]|0;Ch(o,-1,ms(a,d)|0,-6)}d=k[d+20>>2]|0;if(!d)break;else n=j}}d=a+68|0;if((j|0)>(k[d>>2]|0))k[d>>2]=j}else h=0;return h|0}function vt(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=k[a+408>>2]|0;f=(f|0)==0?a:f;e=f+452|0;a=k[e>>2]|0;c=k[f+520>>2]|0;a:do if((a|0)>0){d=0;while(1){if((k[c+(d<<2)>>2]|0)==(b|0))break a;d=d+1|0;if((d|0)>=(a|0)){g=4;break}}}else g=4;while(0);do if((g|0)==4){a=ad(c,(a<<2)+4|0)|0;if(!a){i[(k[f>>2]|0)+65>>0]=1;break}else{k[f+520>>2]=a;c=k[e>>2]|0;k[e>>2]=c+1;k[a+(c<<2)>>2]=b;break}}while(0);return}function wt(a,b,c,d,e,f,g,h,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;w=k[a+8>>2]|0;x=Cs(w)|0;u=(i[b+44>>0]&32)>>>4^70;if(!(m<<24>>24))Ch(w,Bh(w,u,d,x,f)|0,g<<16>>16,-14);if((rt(a,b,0,0)|0)!=0|(c|0)!=0){q=l&255;r=At(a,c,0,0,3,b,q)|0;r=zt(a,b)|0|r;o=a+72|0;n=k[o>>2]|0;m=n+1|0;s=b+38|0;k[o>>2]=m+(j[s>>1]|0);Bh(w,33,f,m,0)|0;o=j[s>>1]|0;if(o<<16>>16>0){t=(r|0)==-1;p=n+2|0;n=0;do{if(!t){if((n|0)<32?(1<<n&r|0)!=0:0)v=9}else v=9;if((v|0)==9){v=0;st(w,b,d,n,p+n|0);o=j[s>>1]|0}n=n+1|0}while((n|0)<(o<<16>>16|0))}t=w+32|0;s=k[t>>2]|0;Ct(a,c,109,0,1,b,m,q,x);if((s|0)<(k[t>>2]|0))Ch(w,Bh(w,u,d,x,f)|0,g<<16>>16,-14);Et(a,b,m,0,0,0)}else m=0;if((k[b+12>>2]|0)==0?(Ft(a,b,d,e,0),Bh(w,95,d,h<<24>>24!=0&1,0)|0,h<<24>>24!=0):0)Ch(w,-1,k[b>>2]|0,0);Ht(a,b,0,m,0,0);Ct(a,c,109,0,2,b,m,l&255,x);n=k[w+24>>2]|0;m=~x;if((x|0)<0?(y=k[n+112>>2]|0,(y|0)!=0):0)k[y+(m<<2)>>2]=k[w+32>>2];k[n+88>>2]=(k[w+32>>2]|0)+-1;return}function xt(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;h=k[a+8>>2]|0;b=k[a+404>>2]|0;if(b){l=(k[a>>2]|0)+16|0;m=a+19|0;n=a+72|0;o=h+32|0;p=h+4|0;j=h+24|0;do{d=k[b+8>>2]|0;e=k[l>>2]|0;g=k[b+12>>2]|0;c=i[m>>0]|0;if(!(c<<24>>24)){f=(k[n>>2]|0)+1|0;k[n>>2]=f}else{f=c+-1<<24>>24;i[m>>0]=f;f=k[a+((f&255)<<2)+24>>2]|0}Vq(a,0,d,k[(k[e+(d<<4)+12>>2]|0)+72>>2]|0,55);e=g+1|0;d=Bh(h,77,e,0,0)|0;Bh(h,74,0,e,0)|0;c=k[o>>2]|0;if(c>>>0>d>>>0)k[(k[p>>2]|0)+(d*20|0)+8>>2]=c;k[(k[j>>2]|0)+88>>2]=c+-1;Bh(h,49,g+-1|0,2,f)|0;Bh(h,75,0,f,e)|0;c=k[p>>2]|0;if(c)i[c+(((k[o>>2]|0)+-1|0)*20|0)+3>>0]=8;Bh(h,61,0,0,0)|0;ds(a,f);b=k[b>>2]|0}while((b|0)!=0)}return}function yt(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;f=r;r=r+16|0;if((r|0)>=(s|0))ka();e=f;k[e>>2]=c;if(!c)d=0;else{d=c;while(1)if(!(i[d>>0]|0))break;else d=d+1|0;d=d-c&1073741823}k[e+4>>2]=d;d=sr(a,b,e,0)|0;r=f;return d|0}function zt(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0;m=r;r=r+16|0;if((r|0)>=(s|0))ka();g=m+4|0;l=m;if(k[(k[a>>2]|0)+24>>2]&524288){d=k[b+16>>2]|0;if(!d)c=0;else{c=0;do{e=k[d+20>>2]|0;if((e|0)>0){f=0;do{n=k[d+(f<<3)+36>>2]|0;c=((n|0)>31?-1:1<<n)|c;f=f+1|0}while((f|0)<(e|0))}d=k[d+4>>2]|0}while((d|0)!=0)}d=gn((k[b+68>>2]|0)+56|0,k[b>>2]|0,g)|0;if((d|0)!=0?(h=k[d+8>>2]|0,(h|0)!=0):0)do{k[l>>2]=0;Rt(a,b,h,l,0)|0;d=k[l>>2]|0;if((d|0)!=0?(i=j[d+46>>1]|0,i<<16>>16!=0):0){g=i&65535;f=k[d+4>>2]|0;e=0;do{d=j[f+(e<<1)>>1]|0;if(d<<16>>16>31)d=-1;else d=1<<(d<<16>>16);c=d|c;e=e+1|0}while((e|0)<(g|0))}h=k[h+12>>2]|0}while((h|0)!=0)}else c=0;r=m;return c|0}function At(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;i=(c|0)!=0?110:109;if(!b)h=0;else{h=0;do{if((((l[b+8>>0]|0|0)==(i|0)?((l[b+9>>0]|0)&e|0)!=0:0)?(fv(k[b+16>>2]|0,c)|0)!=0:0)?(j=hv(a,b,f,g)|0,(j|0)!=0):0)h=k[j+(d<<2)+16>>2]|h;b=k[b+32>>2]|0}while((b|0)!=0)}return h|0}function Bt(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,l=0;l=b+20|0;d=k[l>>2]|0;do if(!d){f=k[a>>2]|0;h=b+38|0;e=(j[h>>1]|0)+1|0;e=vg(e,((e|0)<0)<<31>>31)|0;if(!e){i[f+65>>0]=1;break}if((j[h>>1]|0)>0){f=b+4|0;d=0;do{i[e+d>>0]=i[(k[f>>2]|0)+(d*24|0)+21>>0]|0;d=d+1|0}while((d|0)<(j[h>>1]|0))}else d=0;do{i[e+d>>0]=0;if((d|0)<=0)break;d=d+-1|0}while((i[e+d>>0]|0)==65);k[l>>2]=e;g=10}else{e=d;g=10}while(0);do if((g|0)==10){d=e;while(1)if(!(i[d>>0]|0))break;else d=d+1|0;d=d-e&1073741823;if(d)if(!c){Ch(a,-1,e,d);break}else{Ch(a,Bh(a,48,c,d,0)|0,e,d);break}}while(0);return}function Ct(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;if(b)do{if(((l[b+8>>0]|0|0)==(c|0)?(l[b+9>>0]|0|0)==(e|0):0)?(fv(k[b+16>>2]|0,d)|0)!=0:0)iv(a,b,f,g,h,i);b=k[b+32>>2]|0}while((b|0)!=0);return}function Dt(a,b,c,d,e,f,g,h,l,n,o){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;l=l|0;n=n|0;o=o|0;var p=0,q=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,la=0;la=r;r=r+16|0;if((r|0)>=(s|0))ka();I=la;ea=(g|0)!=0;N=k[a>>2]|0;ja=Tq(a)|0;A=j[b+38>>1]|0;ha=b+44|0;if(!(i[ha>>0]&32)){da=1;ca=0}else{u=b+8|0;while(1){u=k[u>>2]|0;if((i[u+51>>0]&3)==2)break;else u=u+20|0}da=m[u+46>>1]|0;ca=u}if(A<<16>>16>0){w=b+36|0;v=b+4|0;u=l<<24>>24==10;t=a+408|0;q=f+1|0;B=ja+4|0;C=ja+32|0;D=ja+24|0;E=l&255;y=A<<16>>16;x=0;do{a:do if((x|0)!=(j[w>>1]|0)?(F=k[v>>2]|0,G=i[F+(x*24|0)+20>>0]|0,H=G&255,G<<24>>24!=0):0){if(u)if(G<<24>>24==10)ia=14;else{A=H;ia=11}else{A=E;ia=11}do if((ia|0)==11){ia=0;if((A|0)==5)A=(k[F+(x*24|0)+4>>2]|0)==0?2:5;if((A|0)==2){ia=14;break}else if((A|0)==3|(A|0)==1)break;else if((A|0)==4){Bh(ja,76,q+x|0,n,0)|0;break a}z=q+x|0;A=Bh(ja,77,z,0,0)|0;Wq(a,k[(k[v>>2]|0)+(x*24|0)+4>>2]|0,z);z=k[C>>2]|0;if(z>>>0>A>>>0)k[(k[B>>2]|0)+(A*20|0)+8>>2]=z;k[(k[D>>2]|0)+88>>2]=z+-1;break a}while(0);if((ia|0)==14){ia=0;A=k[t>>2]|0;i[((A|0)==0?a:A)+21>>0]=1;A=2}ba=k[F+(x*24|0)>>2]|0;k[I>>2]=k[b>>2];k[I+4>>2]=ba;ba=zh(N,27824,I)|0;Ch(ja,Bh(ja,23,1299,A,q+x|0)|0,ba,-1);A=k[B>>2]|0;if(A)i[A+(((k[C>>2]|0)+-1|0)*20|0)+3>>0]=1}while(0);x=x+1|0}while((x|0)!=(y|0))}x=k[b+24>>2]|0;if(((x|0)!=0?(k[N+24>>2]&8192|0)==0:0)?(k[a+92>>2]=f+1,(k[x>>2]|0)>0):0){w=x+4|0;q=ja+24|0;y=ja+32|0;A=0;u=l<<24>>24==10?2:l&255;while(1){z=Cs(ja)|0;cv(a,k[(k[w>>2]|0)+(A*20|0)>>2]|0,z,16);if((u|0)==4){Bh(ja,16,0,n,0)|0;t=4}else{v=k[(k[w>>2]|0)+(A*20|0)+4>>2]|0;if(!v)v=k[b>>2]|0;t=(u|0)==5?2:u;Es(a,275,t,v,0,3)}v=k[q>>2]|0;u=~z;if((z|0)<0?(J=k[v+112>>2]|0,(J|0)!=0):0)k[J+(u<<2)>>2]=k[y>>2];k[v+88>>2]=(k[y>>2]|0)+-1;A=A+1|0;if((A|0)>=(k[x>>2]|0))break;else u=t}}if(h<<24>>24!=0&(ca|0)==0){w=Cs(ja)|0;q=i[b+45>>0]|0;if(l<<24>>24==10)q=q<<24>>24==10?2:q&255;else q=l&255;if(ea?(Bh(ja,79,f,w,g)|0,K=k[ja+4>>2]|0,(K|0)!=0):0)i[K+(((k[ja+32>>2]|0)+-1|0)*20|0)+3>>0]=-112;b:do if(!((q|0)!=5|l<<24>>24==5)?(p=k[b+8>>2]|0,(p|0)!=0):0){while(1){if(((i[p+50>>0]|0)+-3&255)<2)break;p=k[p+20>>2]|0;if(!p){x=0;break b}}x=Bh(ja,16,0,0,0)|0}else x=0;while(0);Bh(ja,70,d,w,f)|0;c:do switch(q|0){case 4:{Bh(ja,16,0,n,0)|0;q=0;break}case 5:{if((k[N+24>>2]&262144|0)!=0?(L=ot(a,b,109,0,0)|0,(L|0)!=0):0)q=L;else if(!(rt(a,b,0,0)|0)){if(!(k[b+8>>2]|0)){q=1;break c}q=k[a+408>>2]|0;i[((q|0)==0?a:q)+20>>0]=1;Ft(a,b,d,e,0);q=1;break c}else q=0;ba=k[a+408>>2]|0;i[((ba|0)==0?a:ba)+20>>0]=1;wt(a,b,q,d,e,f,1,0,5,1);q=1;break}case 3:case 2:case 1:{ia=49;break}default:{q=2;ia=49}}while(0);if((ia|0)==49){Kt(a,q,b);q=0}v=ja+24|0;u=k[v>>2]|0;t=~w;if((w|0)<0?(M=k[u+112>>2]|0,(M|0)!=0):0)k[M+(t<<2)>>2]=k[ja+32>>2];p=ja+32|0;k[u+88>>2]=(k[p>>2]|0)+-1;if(!x){t=0;x=0}else{t=Bh(ja,16,0,0,0)|0;p=k[p>>2]|0;if(p>>>0>x>>>0)k[(k[ja+4>>2]|0)+(x*20|0)+8>>2]=p;k[(k[v>>2]|0)+88>>2]=p+-1}}else{t=0;x=0;q=0}A=k[b+8>>2]|0;if(A){_=f+1|0;$=a+60|0;aa=a+56|0;ba=a+72|0;Q=h<<24>>24==0;R=ja+24|0;S=ja+32|0;T=l<<24>>24==10;U=ja+4|0;V=ca+46|0;W=ca+32|0;X=ca+4|0;Y=g+1|0;Z=a+408|0;O=N+24|0;P=da&65535;w=l&255;v=b+36|0;u=a+92|0;E=0;p=0;z=-1;while(1){L=c+(p<<2)|0;do if(k[L>>2]|0){if(!(E<<24>>24)){Bt(ja,b,_);E=1}M=p+e|0;l=Cs(ja)|0;K=A+36|0;if(k[K>>2]|0){Bh(ja,28,0,k[L>>2]|0,0)|0;k[u>>2]=_;lt(a,k[K>>2]|0,l,16);k[u>>2]=0}N=A+48|0;F=j[N>>1]|0;I=F&65535;H=k[$>>2]|0;G=k[aa>>2]|0;if((G|0)<(I|0)){h=k[ba>>2]|0;k[ba>>2]=h+I;h=h+1|0}else{k[$>>2]=H+I;k[aa>>2]=G-I;h=H}if(!(F<<16>>16))J=z;else{J=A+4|0;G=0;do{y=j[(k[J>>2]|0)+(G<<1)>>1]|0;I=y<<16>>16;if(y<<16>>16>=0?y<<16>>16!=(j[v>>1]|0):0){H=G+h|0;I=_+I|0;ia=81}else{I=G+h|0;if((z|0)!=(I|0)){H=I;z=(k[K>>2]|0)==0?I:-1;I=f;ia=81}}if((ia|0)==81){ia=0;Bh(ja,34,I,H,0)|0;F=j[N>>1]|0}G=G+1|0;I=F&65535}while((G|0)<(I|0));J=z}Bh(ja,49,h,I,k[L>>2]|0)|0;it(a,h,m[N>>1]|0);K=(ca|0)==(A|0);if(ea&K&Q){z=k[R>>2]|0;y=~l;if((l|0)<0?(fa=k[z+112>>2]|0,(fa|0)!=0):0)k[fa+(y<<2)>>2]=k[S>>2];k[z+88>>2]=(k[S>>2]|0)+-1;z=J;break}D=i[A+50>>0]|0;C=D&255;if(!(D<<24>>24)){z=m[N>>1]|0;it(a,h,z);if((k[aa>>2]|0)<(z|0)){k[aa>>2]=z;k[$>>2]=h}z=k[R>>2]|0;y=~l;if((l|0)<0?(ga=k[z+112>>2]|0,(ga|0)!=0):0)k[ga+(y<<2)>>2]=k[S>>2];k[z+88>>2]=(k[S>>2]|0)+-1;z=J;break}if(T)L=D<<24>>24==10?2:C;else L=w;z=m[A+46>>1]|0;Ch(ja,Bh(ja,67,M,l,h)|0,z,-14);do if(!K){I=k[$>>2]|0;H=k[aa>>2]|0;if((H|0)<(da|0)){I=k[ba>>2]|0;k[ba>>2]=I+da;I=I+1|0;break}else{k[$>>2]=I+da;k[aa>>2]=H-da;break}}else I=h;while(0);do if(ea|(L|0)==5){if(!(i[ha>>0]&32)){Bh(ja,112,M,I,0)|0;if(!ea)break;Bh(ja,79,I,l,g)|0;D=k[U>>2]|0;if(!D)break;i[D+(((k[S>>2]|0)+-1|0)*20|0)+3>>0]=-112;break}do if(!K){if(!(j[V>>1]|0))break;C=A+4|0;B=0;do{F=j[(k[X>>2]|0)+(B<<1)>>1]|0;H=j[N>>1]|0;d:do if(!(H<<16>>16))H=-1;else{D=k[C>>2]|0;G=H&65535;H=0;while(1){if((j[D+(H<<1)>>1]|0)==F<<16>>16)break d;H=H+1|0;if((H|0)>=(G|0)){H=-1;break}}}while(0);Bh(ja,47,M,H<<16>>16,B+I|0)|0;B=B+1|0}while((B|0)<(m[V>>1]|0))}while(0);if(!ea)break;C=(i[A+51>>0]&3)==2?h:I;H=j[V>>1]|0;if(!(H<<16>>16))break;G=(H&65535)+(k[S>>2]|0)|0;F=0;D=78;do{H=hr(a,k[(k[W>>2]|0)+(F<<2)>>2]|0)|0;z=(F|0)==((m[V>>1]|0)+-1|0);G=z?l:G;D=z?79:D;Ch(ja,Bh(ja,D,Y+(j[(k[X>>2]|0)+(F<<1)>>1]|0)|0,G,F+C|0)|0,H,-4);H=k[U>>2]|0;if(H)i[H+(((k[S>>2]|0)+-1|0)*20|0)+3>>0]=-112;F=F+1|0}while((F|0)<(m[V>>1]|0))}while(0);if((L|0)==3|(L|0)==2|(L|0)==1)su(a,L,A);else if((L|0)==4)Bh(ja,16,0,n,0)|0;else{z=k[Z>>2]|0;i[((z|0)==0?a:z)+20>>0]=1;if(!(k[O>>2]&262144))D=0;else D=ot(a,b,109,0,0)|0;wt(a,b,D,d,e,I,P,0,5,K&1);q=1}H=k[R>>2]|0;G=~l;do if((l|0)<0){D=k[H+112>>2]|0;if(!D)break;k[D+(G<<2)>>2]=k[S>>2]}while(0);k[H+88>>2]=(k[S>>2]|0)+-1;z=m[N>>1]|0;it(a,h,z);if((k[aa>>2]|0)<(z|0)){k[aa>>2]=z;k[$>>2]=h}if((I|0)==(h|0)){z=J;break}it(a,I,da);if((k[aa>>2]|0)>=(da|0)){z=J;break}k[aa>>2]=da;k[$>>2]=I;z=J}while(0);A=k[A+20>>2]|0;if(!A)break;else p=p+1|0}}if(x){Bh(ja,16,0,x+1|0,0)|0;p=k[ja+32>>2]|0;if(p>>>0>t>>>0)k[(k[ja+4>>2]|0)+(t*20|0)+8>>2]=p;k[(k[ja+24>>2]|0)+88>>2]=p+-1}k[o>>2]=q;r=la;return}function Et(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,m=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0;Z=r;r=r+32|0;if((r|0)>=(s|0))ka();Q=Z+20|0;O=Z+16|0;M=Z+12|0;N=Z+8|0;X=Z+4|0;W=Z;S=k[a>>2]|0;L=a+438|0;R=i[L>>0]|0;V=S+24|0;a:do if(k[V>>2]&524288){P=b+68|0;g=k[P>>2]|0;b:do if(g){m=k[S+20>>2]|0;if((m|0)>0){h=k[S+16>>2]|0;p=0;while(1){o=p+1|0;if((k[h+(p<<4)+12>>2]|0)==(g|0)){o=p;break b}if((o|0)<(m|0))p=o;else break}}else o=0}else o=-1e6;while(0);K=k[(k[S+16>>2]|0)+(o<<4)>>2]|0;x=k[b+16>>2]|0;if(!x)h=b;else{z=(e|0)==0;A=R<<24>>24==0;B=S+65|0;C=c+1|0;D=a+68|0;E=(c|0)==0;F=(d|0)==0;G=a+408|0;H=b+36|0;I=S+284|0;J=(f|0)!=0;y=x;do{k[O>>2]=0;k[M>>2]=0;c:do if(!z){x=k[y+8>>2]|0;if(id(k[b>>2]|0,x)|0){w=k[y+20>>2]|0;if((w|0)>0){h=0;do{g=k[y+(h<<3)+36>>2]|0;if((k[e+(g<<2)>>2]|0)>-1){Y=17;break c}h=h+1|0;if((g|0)==(j[H>>1]|0)&J){Y=17;break c}}while((h|0)<(w|0))}}else Y=17}else{x=k[y+8>>2]|0;Y=17}while(0);do if((Y|0)==17){Y=0;if(!(i[L>>0]|0))v=xh(a,0,x,K)|0;else v=di(S,x,K)|0;x=(v|0)==0;if(!x?(Rt(a,v,y,O,M)|0)==0:0){x=k[M>>2]|0;if(!x){k[N>>2]=k[y+36>>2];x=N}h=y+20|0;if((k[h>>2]|0)>0){t=k[O>>2]|0;m=(t|0)==0;p=v+36|0;q=v+4|0;t=t+4|0;g=0;u=0;do{w=x+(u<<2)|0;if((k[w>>2]|0)==(j[H>>1]|0))k[w>>2]=-1;if(k[I>>2]|0){if(m)w=p;else w=(k[t>>2]|0)+(u<<1)|0;g=(jv(a,k[v>>2]|0,k[(k[q>>2]|0)+((j[w>>1]|0)*24|0)>>2]|0,o)|0)==2&1}u=u+1|0}while((u|0)<(k[h>>2]|0));w=v}else{w=v;g=0}ls(a,o,k[v+32>>2]|0,0,k[w>>2]|0);k[D>>2]=(k[D>>2]|0)+1;if(!E)kv(a,o,v,k[O>>2]|0,y,x,c,-1,g);d:do if(!F){w=k[G>>2]|0;w=k[((w|0)==0?a:w)+528>>2]|0;do if(w){w=k[w>>2]|0;if((w|0)==(k[y+28>>2]|0)?(i[y+25>>0]|0)==7:0)break d;if((w|0)!=(k[y+32>>2]|0))break;if((i[y+26>>0]|0)==7)break d}while(0);kv(a,o,v,k[O>>2]|0,y,x,d,1,g)}while(0);rg(S,k[M>>2]|0);break}if(A)break a;if(i[B>>0]|0)break a;if(x){x=Tq(a)|0;w=y+20|0;h=k[w>>2]|0;g=(k[x+32>>2]|0)+1+h|0;if((h|0)>0){h=0;do{Bh(x,76,C+(k[y+(h<<3)+36>>2]|0)|0,g,0)|0;h=h+1|0}while((h|0)<(k[w>>2]|0))}Bh(x,134,l[y+24>>0]|0,-1,0)|0}}while(0);y=k[y+4>>2]|0}while((y|0)!=0);h=b;g=k[P>>2]|0}g=gn(g+56|0,k[h>>2]|0,Q)|0;if((g|0)!=0?(n=k[g+8>>2]|0,T=S+65|0,(n|0)!=0):0){p=(e|0)!=0;q=a+408|0;t=a+20|0;u=a+68|0;v=(d|0)==0;w=(c|0)==0;x=p&1;o=R<<24>>24==0;do{k[X>>2]=0;k[W>>2]=0;if(!(p?(gv(b,n,e,f)|0)==0:0))Y=57;do if((Y|0)==57){Y=0;h=n+24|0;if((((i[h>>0]|0)==0?(k[V>>2]&16777216|0)==0:0)?(k[q>>2]|0)==0:0)?(i[t>>0]|0)==0:0)break;if(Rt(a,b,n,X,W)|0){if(o)break a;if(!(i[T>>0]|0))break;else break a}g=ur(S,0,0,0)|0;if(g){H=k[n>>2]|0;k[g+24>>2]=H;m=g+16|0;k[m>>2]=k[H>>2];H=H+40|0;j[H>>1]=(j[H>>1]|0)+1<<16>>16;H=k[u>>2]|0;k[u>>2]=H+1;k[g+48>>2]=H;if(!v)lv(a,g,b,k[X>>2]|0,n,k[W>>2]|0,d,-1);if((!w?(U=i[n+x+25>>0]|0,lv(a,g,b,k[X>>2]|0,n,k[W>>2]|0,c,1),(i[h>>0]|0)==0):0)?!(U<<24>>24==7|U<<24>>24==9):0){H=k[q>>2]|0;i[((H|0)==0?a:H)+21>>0]=1}k[m>>2]=0;Io(S,g)}rg(S,k[W>>2]|0)}while(0);n=k[n+12>>2]|0}while((n|0)!=0)}}while(0);r=Z;return}function Ft(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,n=0,o=0,p=0,q=0;q=r;r=r+16|0;if((r|0)>=(s|0))ka();p=q;o=k[a+8>>2]|0;g=k[b+8>>2]|0;a:do if(i[b+44>>0]&32){if(g){f=g;while(1){if((i[f+51>>0]&3)==2){n=5;break a}f=k[f+20>>2]|0;if(!f){f=0;n=5;break}}}}else{f=0;n=5}while(0);if((n|0)==5?(g|0)!=0:0){j=(e|0)==0;l=0;b=0;h=-1;while(1){if(j){if((g|0)!=(f|0))n=10}else if(!((g|0)==(f|0)?1:(k[e+(l<<2)>>2]|0)==0))n=10;if((n|0)==10){n=0;h=Ut(a,g,c,0,1,p,b,h)|0;Bh(o,111,l+d|0,h,m[((i[g+51>>0]&8)==0?g+48|0:g+46|0)>>1]|0)|0;Vt(a,k[p>>2]|0);b=g}g=k[g+20>>2]|0;if(!g)break;else l=l+1|0}}r=q;return}function Gt(a,b,c,d,e,f,g,h,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=Tq(a)|0;q=k[b+8>>2]|0;if(!q){n=b+44|0;p=0}else{r=(l|0)!=0;n=b+44|0;s=r?17:1;t=w+4|0;u=w+32|0;p=0;v=0;m=q;while(1){o=f+(v<<2)|0;q=k[o>>2]|0;do if(q){if(k[m+36>>2]|0){Bh(w,76,q,(k[u>>2]|0)+2|0,0)|0;q=k[o>>2]|0}Bh(w,110,v+d|0,q,0)|0;if((i[m+51>>0]&3)==2){q=(i[n>>0]&32)!=0;if(q|r)p=q?s:16;else{p=1;break}}else if(r)p=16;else{p=1;break}q=k[t>>2]|0;if(!q)p=1;else{i[q+(((k[u>>2]|0)+-1|0)*20|0)+3>>0]=p;p=1}}while(0);m=k[m+20>>2]|0;if(!m)break;else v=v+1|0}}if(!(i[n>>0]&32)){o=e+1|0;n=a+19|0;m=i[n>>0]|0;if(!(m<<24>>24)){f=a+72|0;q=(k[f>>2]|0)+1|0;k[f>>2]=q}else{q=m+-1<<24>>24;i[n>>0]=q;q=k[a+((q&255)<<2)+24>>2]|0}n=b+38|0;Bh(w,49,o,j[n>>1]|0,q)|0;if(!(p<<24>>24))Bt(w,b,0);it(a,o,j[n>>1]|0);o=a+18|0;if(!(i[o>>0]|0))m=(g|0)!=0?5:3;else m=0;if(h)m=(m&255|8)&255;if(!l)n=m;else n=(m&255|16)&255;Bh(w,75,c,q,e)|0;if(!(i[o>>0]|0))Ch(w,-1,k[b>>2]|0,0);m=k[w+4>>2]|0;if(m)i[m+(((k[w+32>>2]|0)+-1|0)*20|0)+3>>0]=n}return}function Ht(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;Y=r;r=r+64|0;if((r|0)>=(s|0))ka();R=Y+52|0;Q=Y+48|0;V=Y+8|0;U=Y;T=Y+40|0;W=Y+32|0;S=Y+24|0;if(((k[(k[a>>2]|0)+24>>2]&524288|0)!=0?(P=b+68|0,g=gn((k[P>>2]|0)+56|0,k[b>>2]|0,Y+16|0)|0,(g|0)!=0):0)?(h=k[g+8>>2]|0,(h|0)!=0):0){O=(e|0)==0;H=(c|0)!=0;I=H&1;J=W+4|0;K=T+4|0;L=b+4|0;M=S+4|0;N=H?110:109;do{if(!(!O?(gv(b,h,e,f)|0)==0:0)){E=k[a>>2]|0;D=i[h+I+25>>0]|0;F=D&255;G=h+(I<<2)+28|0;c=k[G>>2]|0;do if(!(D<<24>>24==0|(c|0)!=0)){k[R>>2]=0;k[Q>>2]=0;if(!(Rt(a,b,h,R,Q)|0)){p=h+20|0;if((k[p>>2]|0)>0){x=34352;w=k[x>>2]|0;x=k[x+4>>2]|0;z=34360;y=k[z>>2]|0;z=k[z+4>>2]|0;A=h+36|0;C=D<<24>>24!=6&(D<<24>>24!=9|H);B=0;m=0;g=0;l=0;do{c=V;k[c>>2]=w;k[c+4>>2]=x;c=U;k[c>>2]=y;k[c+4>>2]=z;c=k[Q>>2]|0;if(!c)c=A;else c=c+(B<<2)|0;o=k[c>>2]|0;q=k[R>>2]|0;if(!q)u=34368;else u=k[(k[L>>2]|0)+((j[(k[q+4>>2]|0)+(B<<1)>>1]|0)*24|0)>>2]|0;k[W>>2]=u;c=k[(k[(k[h>>2]|0)+4>>2]|0)+(o*24|0)>>2]|0;k[T>>2]=c;if(!u)t=0;else{v=u;while(1)if(!(i[v>>0]|0))break;else v=v+1|0;t=v-u&1073741823}k[J>>2]=t;if(!c)n=0;else{u=c;while(1)if(!(i[u>>0]|0))break;else u=u+1|0;n=u-c&1073741823}k[K>>2]=n;v=cr(a,27,0,0,V)|0;v=cr(a,122,v,cr(a,27,0,0,W)|0,0)|0;l=xs(E,l,cr(a,79,v,cr(a,27,0,0,T)|0,0)|0)|0;if(H){u=cr(a,27,0,0,V)|0;u=cr(a,122,u,cr(a,27,0,0,W)|0,0)|0;v=cr(a,27,0,0,U)|0;g=xs(E,g,cr(a,73,u,cr(a,122,v,cr(a,27,0,0,W)|0,0)|0,0)|0)|0}if(C){do if(D<<24>>24==9){c=cr(a,27,0,0,U)|0;c=cr(a,122,c,cr(a,27,0,0,W)|0,0)|0}else if(D<<24>>24==8){c=k[(k[(k[h>>2]|0)+4>>2]|0)+(o*24|0)+4>>2]|0;if(!c){c=cr(a,101,0,0,0)|0;break}else{c=Rr(E,c,0,0)|0;break}}else c=cr(a,101,0,0,0)|0;while(0);m=qr(a,m,c)|0;rr(a,m,T,0)}B=B+1|0}while((B|0)<(k[p>>2]|0));c=h}else{c=h;m=0;g=0;l=0}rg(E,k[Q>>2]|0);v=k[k[c>>2]>>2]|0;if(!v)n=0;else{c=v;while(1)if(!(i[c>>0]|0))break;else c=c+1|0;n=c-v&1073741823}if(D<<24>>24==6){k[S>>2]=v;k[M>>2]=n;c=yt(E,57,34376)|0;if(c)i[c+1>>0]=2;u=qr(a,0,c)|0;u=pr(a,u,ur(E,0,S,0)|0,l,0,0,0,0,0,0)|0;t=0}else{u=0;t=l}o=E+250|0;p=i[o>>0]|0;i[o>>0]=0;c=n+77|0;q=rh(E,c,0)|0;if(q){kw(q|0,0,c|0)|0;l=q+36|0;k[q+28>>2]=l;D=q+76|0;k[q+48>>2]=D;k[q+52>>2]=n;pw(D|0,v|0,n|0)|0;D=Rr(E,t,1,0)|0;k[q+56>>2]=D;D=Ur(E,m,1)|0;k[q+60>>2]=D;D=lr(E,u,1)|0;k[q+44>>2]=D;if(!g){c=q;g=0}else{g=cr(a,19,g,0,0)|0;c=Rr(E,g,1,0)|0;k[q+12>>2]=c;c=q}}else{c=0;l=0}i[o>>0]=p;Lk(E,t);Lk(E,g);Sk(E,m);Rk(E,u,1);if((i[E+65>>0]|0)==1){Pk(E,c);c=0;break}if((F|0)==6)i[l>>0]=119;else if((F|0)==9?!H:0)i[l>>0]=109;else X=49;if((X|0)==49){X=0;i[l>>0]=110}k[l+4>>2]=c;F=k[P>>2]|0;k[q+20>>2]=F;k[q+24>>2]=F;k[G>>2]=c;i[q+8>>0]=N}else c=0}while(0);if(c)iv(a,c,b,d,2,0)}h=k[h+12>>2]|0}while((h|0)!=0)}r=Y;return}function It(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0;c=j[a+46>>1]|0;a:do if(c<<16>>16==(j[b+46>>1]|0)?(i[a+50>>0]|0)==(i[b+50>>0]|0):0){if(c<<16>>16){d=k[b+4>>2]|0;e=k[a+4>>2]|0;f=b+28|0;g=a+28|0;h=b+32|0;l=a+32|0;p=0;do{if((j[d+(p<<1)>>1]|0)!=(j[e+(p<<1)>>1]|0)){c=0;break a}if((i[(k[f>>2]|0)+p>>0]|0)!=(i[(k[g>>2]|0)+p>>0]|0)){c=0;break a}m=k[(k[h>>2]|0)+(p<<2)>>2]|0;n=k[(k[l>>2]|0)+(p<<2)>>2]|0;o=(n|0)==0;if(!m){if(!o){c=0;break a}}else{if(o){c=0;break a}if(id(m,n)|0){c=0;break a}}p=p+1|0}while((p|0)<(c&65535|0))}c=(Hu(k[b+36>>2]|0,k[a+36>>2]|0,-1)|0)==0&1}else c=0;while(0);return c|0}function Jt(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;do if(!(i[c+44>>0]&8))d=0;else{f=k[a+408>>2]|0;f=(f|0)==0?a:f;e=f+404|0;d=k[e>>2]|0;a:do if(!d)g=5;else while(1){if((k[d+4>>2]|0)==(c|0))break a;d=k[d>>2]|0;if(!d){g=5;break}}while(0);if((g|0)==5){d=rh(k[a>>2]|0,16,0)|0;if(!d){d=0;break}k[d>>2]=k[e>>2];k[e>>2]=d;k[d+4>>2]=c;k[d+8>>2]=b;a=f+72|0;e=k[a>>2]|0;k[d+12>>2]=e+2;k[a>>2]=e+3}d=k[d+12>>2]|0}while(0);return d|0}function Kt(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;if((r|0)>=(s|0))ka();g=h;e=j[c+36>>1]|0;f=k[a>>2]|0;d=k[c>>2]|0;if(e<<16>>16>-1){e=k[(k[c+4>>2]|0)+((e<<16>>16)*24|0)>>2]|0;k[g>>2]=d;k[g+4>>2]=e;e=1555;d=zh(f,27824,g)|0}else{k[g>>2]=d;e=2579;d=zh(f,34408,g)|0}Es(a,e,b,d,-1,2);r=h;return}function Lt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a+316|0;f=k[e>>2]|0;b=qr(a,f,Rr(k[a>>2]|0,b,0,0)|0)|0;if(b){a=(k[b>>2]|0)+-1|0;f=k[b+4>>2]|0;k[f+(a*20|0)+16>>2]=c;a=f+(a*20|0)+13|0;i[a>>0]=i[a>>0]&-5|d<<2&4}k[e>>2]=b;return}function Mt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=k[d>>2]|0;if(!(f+-1&f)){h=ha((f|0)==0?1:f<<1,c)|0;a=wo(a,b,h,((h|0)<0)<<31>>31)|0;if(!a){k[e>>2]=-1;a=b}else g=4}else{a=b;g=4}if((g|0)==4){kw(a+(ha(f,c)|0)|0,0,c|0)|0;k[e>>2]=f;k[d>>2]=(k[d>>2]|0)+1}return a|0}function Nt(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;if((r|0)>=(s|0))ka();g=h;k[g>>2]=0;b=k[a+12>>2]|0;if((b|0)!=0?(c=k[b+24>>2]|0,(c|0)>0):0){k[g>>2]=c;b=c}else b=0;c=k[a+16>>2]|0;if((c|0)!=0?(d=k[c+24>>2]|0,(d|0)>(b|0)):0)k[g>>2]=d;e=a+4|0;b=a+20|0;if(!(k[e>>2]&2048)){c=k[b>>2]|0;if(c){yu(c,g);b=k[b>>2]|0;if((b|0)!=0?(f=k[b>>2]|0,(f|0)>0):0){d=k[b+4>>2]|0;c=0;b=0;do{b=k[(k[d+(c*20|0)>>2]|0)+4>>2]|b;c=c+1|0}while((c|0)!=(f|0));b=b&2097408}else b=0;k[e>>2]=k[e>>2]|b}}else Js(k[b>>2]|0,g);k[a+24>>2]=(k[g>>2]|0)+1;r=h;return}function Ot(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;e=Tq(a)|0;g=a+72|0;f=(k[g>>2]|0)+1|0;k[g>>2]=f;a=rh(k[a>>2]|0,8,0)|0;if(a){g=a;k[g>>2]=c;k[g+4>>2]=d}Ch(e,Bh(e,26,0,f,0)|0,a,-13);nq(e,1);if(!(i[(k[e>>2]|0)+65>>0]|0))ah(k[e+16>>2]|0,b,-1,1,0)|0;Bh(e,35,f,1,0)|0;return}function Pt(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;if((r|0)>=(s|0))ka();e=f;b=k[a>>2]|0;c=b+16|0;d=k[(k[c>>2]|0)+20>>2]|0;do if(!d)b=0;else{if((i[b+63>>0]|0)!=0?(i[d+8>>0]|0)==0:0){Rl(d);k[(k[c>>2]|0)+20>>2]=0;Jg(b);b=0;break}yh(a,32128,e);b=1}while(0);r=f;return b|0}function Qt(a){a=a|0;var b=0,c=0,d=0;if((i[a+63>>0]|0)!=0?(b=k[a+20>>2]|0,(b|0)>0):0){d=a+24|0;c=k[a+16>>2]|0;while(1){b=b+-1|0;a=k[c+4>>2]|0;if(a)yo(a,k[d>>2]&28|l[c+8>>0]);if((b|0)<=0)break;else c=c+16|0}}return}function Rt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,l=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=r;r=r+16|0;if((r|0)>=(s|0))ka();w=z;x=k[c+20>>2]|0;g=k[c+40>>2]|0;if((x|0)==1){q=j[b+36>>1]|0;f=q<<16>>16;if(q<<16>>16>-1)if((g|0)!=0?(id(k[(k[b+4>>2]|0)+(f*24|0)>>2]|0,g)|0)!=0:0){v=0;y=8}else e=0;else{v=0;y=8}}else if(e){f=rh(k[a>>2]|0,x<<2,0)|0;if(!f)e=1;else{k[e>>2]=f;v=f;y=8}}else{v=0;y=8}a:do if((y|0)==8){e=k[b+8>>2]|0;b:do if(e){q=(g|0)==0;u=(x|0)>0;p=b+4|0;t=(v|0)==0;c:while(1){do if((m[e+46>>1]|0)==(x|0)?(i[e+50>>0]|0)!=0:0){if(q)if((i[e+51>>0]&3)==2){y=16;break c}else break;d:do if(u){h=k[e+4>>2]|0;l=k[p>>2]|0;n=k[e+32>>2]|0;o=0;while(1){b=j[h+(o<<1)>>1]|0;g=k[l+(b*24|0)+16>>2]|0;if(id(k[n+(o<<2)>>2]|0,(g|0)!=0?g:11152)|0){g=o;break d}g=k[l+(b*24|0)>>2]|0;f=0;while(1){b=f+1|0;if(!(id(k[c+(f<<3)+40>>2]|0,g)|0)){b=f;y=23;break}if((b|0)<(x|0))f=b;else break}if((y|0)==23){y=0;if(!t)k[v+(o<<2)>>2]=k[c+(b<<3)+36>>2]}g=o+1|0;if((b|0)==(x|0)){g=o;break d}if((g|0)<(x|0))o=g;else break}}else g=0;while(0);if((g|0)==(x|0))break c}while(0);e=k[e+20>>2]|0;if(!e)break b}if((y|0)==16)if(!(t|u^1)){f=0;do{k[v+(f<<2)>>2]=k[c+(f<<3)+36>>2];f=f+1|0}while((f|0)!=(x|0))}k[d>>2]=e;e=0;break a}while(0);if(!(i[a+438>>0]|0)){q=k[c+8>>2]|0;k[w>>2]=k[k[c>>2]>>2];k[w+4>>2]=q;yh(a,32008,w)}rg(k[a>>2]|0,v);e=1}while(0);r=z;return e|0}function St(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;g=r;r=r+16|0;if((r|0)>=(s|0))ka();f=g;if(!(k[b+12>>2]|0)){k[f>>2]=0;h=k[a>>2]|0;e=b+4|0;b=k[e>>2]|0;cs(h,k[b+(c*24|0)+4>>2]|0,i[h+62>>0]|0,i[b+(c*24|0)+21>>0]|0,f)|0;b=k[f>>2]|0;if(b)Ch(a,-1,b,-8);if((i[(k[e>>2]|0)+(c*24|0)+21>>0]|0)==69)Bh(a,39,d,0,0)|0}r=g;return}function Tt(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(!b)d=0;else{d=b;while(1)if(!(i[d>>0]|0))break;else d=d+1|0;d=d-b&1073741823}d=Xh(a,b,d,2,1,0)|0;if(d){d=d+2|0;j[d>>1]=m[d>>1]|c&255}return}function Ut(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=k[a+8>>2]|0;r=k[b+12>>2]|0;do if(f){l=b+36|0;if(!(k[l>>2]|0)){k[f>>2]=0;break}else{p=Cs(q)|0;k[f>>2]=p;k[a+96>>2]=c;p=a+100|0;k[p>>2]=(k[p>>2]|0)+1;lt(a,k[l>>2]|0,k[f>>2]|0,16);break}}while(0);if((e|0)!=0?(i[b+51>>0]&8)!=0:0)l=b+46|0;else l=b+48|0;l=j[l>>1]|0;n=l&65535;o=a+60|0;e=k[o>>2]|0;p=a+56|0;f=k[p>>2]|0;if((f|0)<(n|0)){e=a+72|0;m=k[e>>2]|0;k[e>>2]=m+n;m=m+1|0}else{k[o>>2]=e+n;k[p>>2]=f-n;m=e}do if(!g)e=0;else{if((m|0)==(h|0)?(k[g+36>>2]|0)==0:0){e=g;break}e=0}while(0);if(l<<16>>16){g=(e|0)==0;h=b+4|0;f=e+4|0;l=0;do{if(!g){e=j[(k[h>>2]|0)+(l<<1)>>1]|0;if((j[(k[f>>2]|0)+(l<<1)>>1]|0)!=e<<16>>16)s=21}else{e=j[(k[h>>2]|0)+(l<<1)>>1]|0;s=21}if((s|0)==21){s=0;st(q,r,c,e<<16>>16,l+m|0);Uq(q,39)|0}l=l+1|0}while((l|0)<(n|0))}if(d)Bh(q,49,m,n,d)|0;it(a,m,n);if((k[p>>2]|0)<(n|0)){k[p>>2]=n;k[o>>2]=m}return m|0}function Vt(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;if(b){c=k[a+8>>2]|0;d=k[c+24>>2]|0;e=~b;if((b|0)<0?(f=k[d+112>>2]|0,(f|0)!=0):0)k[f+(e<<2)>>2]=k[c+32>>2];k[d+88>>2]=(k[c+32>>2]|0)+-1;gu(a)}return}function Wt(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;if((r|0)>=(s|0))ka();e=f;c=k[b+16>>2]|0;a:do if((c|0)!=0?(d=k[b+64>>2]|0,(d|0)!=0):0){c=k[c+8>>2]|0;b:do if(c){while(1){if(!(id(k[c>>2]|0,d)|0))break;c=k[c+20>>2]|0;if(!c)break b}k[b+68>>2]=c;c=0;break a}while(0);k[e>>2]=d;k[e+4>>2]=0;yh(a,28104,e);i[a+17>>0]=1;c=1}else c=0;while(0);r=f;return c|0}function Xt(a,b){a=a|0;b=b|0;var c=0,d=0;if(a){c=Yt(a,b)|0;if(b&1){d=Xt(k[a+12>>2]|0,b)|0;return d+c+(Xt(k[a+16>>2]|0,b)|0)|0}}else c=0;return c|0}
function Yt(a,b){a=a|0;b=b|0;var c=0;if(b&1)if(!(k[a+12>>2]|0))b=(k[a+20>>2]|0)==0?12:28;else b=28;else b=48;if((k[a+4>>2]&1024|0)==0?(c=k[a+8>>2]|0,(c|0)!=0):0){a=c;while(1)if(!(i[a>>0]|0))break;else a=a+1|0;b=(b|1)+(a-c&1073741823)|0}return b+7&-8|0}function Zt(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;d=k[a>>2]|0;g=d+20|0;c=k[g>>2]|0;if((c|0)>0){f=0;e=k[d+16>>2]|0;while(1){d=k[(k[e+12>>2]|0)+16>>2]|0;if(d){c=d;do{_t(a,k[c+8>>2]|0,b);c=k[c>>2]|0}while((c|0)!=0);c=k[g>>2]|0}f=f+1|0;if((f|0)>=(c|0))break;else e=e+16|0}}return}function _t(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0;d=k[b+8>>2]|0;if(d){m=(c|0)==0;i=b+68|0;l=a+408|0;do{a:do if(!m){g=d+32|0;b=j[d+48>>1]|0;if(b<<16>>16){f=k[d+4>>2]|0;b=b&65535;e=0;do{if((j[f+(e<<1)>>1]|0)>-1?(id(k[(k[g>>2]|0)+(e<<2)>>2]|0,c)|0)==0:0){n=9;break a}e=e+1|0}while((e|0)<(b|0))}}else n=9;while(0);if((n|0)==9){n=0;b=k[a>>2]|0;e=k[i>>2]|0;b:do if(e){h=k[b+20>>2]|0;if((h|0)>0){f=k[b+16>>2]|0;g=0;while(1){b=g+1|0;if((k[f+(g<<4)+12>>2]|0)==(e|0)){b=g;break b}if((b|0)<(h|0))g=b;else break}}else b=0}else b=-1e6;while(0);h=k[l>>2]|0;Fr(a,b);h=((h|0)==0?a:h)+328|0;k[h>>2]=k[h>>2]|1<<b;As(a,d,-1)}d=k[d+20>>2]|0}while((d|0)!=0)}return}function $t(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=k[(k[(k[a>>2]|0)+16>>2]|0)+(b<<4)+12>>2]|0;f=k[a+408>>2]|0;Fr(a,b);f=((f|0)==0?a:f)+328|0;k[f>>2]=k[f>>2]|1<<b;f=a+68|0;d=k[f>>2]|0;k[f>>2]=d+3;mv(a,b,d,0,0);e=(k[a+72>>2]|0)+1|0;f=k[f>>2]|0;c=k[c+16>>2]|0;if(c)do{nv(a,k[c+8>>2]|0,0,d,e,f);c=k[c>>2]|0}while((c|0)!=0);ov(a,b);return}function au(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;d=k[a>>2]|0;g=k[b+68>>2]|0;a:do if(g){h=k[d+20>>2]|0;if((h|0)>0){e=k[d+16>>2]|0;d=0;while(1){f=d+1|0;if((k[e+(d<<4)+12>>2]|0)==(g|0)){f=d;break a}if((f|0)<(h|0))d=f;else break}}else f=0}else f=-1e6;while(0);d=k[a+408>>2]|0;Fr(a,f);d=((d|0)==0?a:d)+328|0;k[d>>2]=k[d>>2]|1<<f;d=a+68|0;e=k[d>>2]|0;k[d>>2]=e+3;if(!c)mv(a,f,e,k[b>>2]|0,28544);else mv(a,f,e,k[c>>2]|0,28536);nv(a,b,c,e,(k[a+72>>2]|0)+1|0,k[d>>2]|0);ov(a,f);return}function bu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;e=((c|0)/2|0)+1|0;e=rh(a,e,((e|0)<0)<<31>>31)|0;a=c+-1|0;if(e){if((a|0)>0){d=0;do{f=i[b+d>>0]|0;g=i[b+(d|1)>>0]|0;i[e+((d|0)/2|0)>>0]=(0-(g>>>6&1)&9)+g&15|(0-(f>>>6&1)&9)+f<<4;d=d+2|0}while((d|0)<(a|0));a=(c&-2|0)/2|0}else a=0;i[e+a>>0]=0}return e|0}function cu(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=r;r=r+16|0;if((r|0)>=(s|0))ka();f=j+8|0;h=j;g=k[a+8>>2]|0;e=b+8|0;do if(!(k[b+4>>2]&1024)){e=k[e>>2]|0;b=oi(e,h)|0;if((b|0)!=0?!((b|0)==2&(c|0)!=0):0)if(!(Kc(e,29144,2)|0)){k[f>>2]=e;yh(a,29152,f);break}else{du(g,e,c,d);break}if(c){if((b|0)==2){b=0;e=-2147483648}else{b=h;b=iw(0,0,k[b>>2]|0,k[b+4>>2]|0)|0;e=L}c=h;k[c>>2]=b;k[c+4>>2]=e}b=rh(k[g>>2]|0,8,0)|0;if(b){c=h;f=k[c>>2]|0;c=k[c+4>>2]|0;e=b;a=e;i[a>>0]=f;i[a+1>>0]=f>>8;i[a+2>>0]=f>>16;i[a+3>>0]=f>>24;e=e+4|0;i[e>>0]=c;i[e+1>>0]=c>>8;i[e+2>>0]=c>>16;i[e+3>>0]=c>>24}Ch(g,Bh(g,26,0,d,0)|0,b,-13)}else{b=k[e>>2]|0;Bh(g,25,(c|0)==0?b:0-b|0,d,0)|0}while(0);r=j;return}function du(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;g=r;r=r+16|0;if((r|0)>=(s|0))ka();f=g;if(b){e=b;while(1)if(!(i[e>>0]|0))break;else e=e+1|0;Yl(b,f,e-b&1073741823,1)|0;if(c)p[f>>3]=-+p[f>>3];e=rh(k[a>>2]|0,8,0)|0;if(e){b=f;h=k[b>>2]|0;b=k[b+4>>2]|0;c=e;f=c;i[f>>0]=h;i[f+1>>0]=h>>8;i[f+2>>0]=h>>16;i[f+3>>0]=h>>24;c=c+4|0;i[c>>0]=b;i[c+1>>0]=b>>8;i[c+2>>0]=b>>16;i[c+3>>0]=b>>24}Ch(a,Bh(a,133,0,d,0)|0,e,-12)}r=g;return}function eu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;if((r|0)>=(s|0))ka();e=j;a:do if(!b)g=0;else while(1){d=k[b+4>>2]|0;if(!(d&4096)){g=b;break a}if(!(d&262144))b=b+12|0;else b=k[(k[b+20>>2]|0)+4>>2]|0;b=k[b>>2]|0;if(!b){g=0;break}}while(0);b:do if(((i[a+23>>0]|0)!=0?(i[g>>0]|0)!=-97:0)?(k[e+0>>2]=0,k[e+4>>2]=0,k[e+8>>2]=0,k[e+12>>2]=0,k[e+16>>2]=0,k[e+20>>2]=0,d=e+20|0,i[d>>0]=2,k[e>>2]=78,k[e+4>>2]=79,k[e+24>>2]=0,ws(e,g)|0,(i[d>>0]|0)!=0):0){d=k[a+316>>2]|0;k[c>>2]=0;c:do if((d|0)!=0?(f=k[d>>2]|0,(f|0)>0):0){b=f;d=k[d+4>>2]|0;while(1){if((i[d+13>>0]&4)!=0?(Hu(k[d>>2]|0,g,-1)|0)==0:0)break;b=b+-1|0;if((b|0)<=0)break c;else d=d+20|0}d=k[d+16>>2]|0;break b}while(0);b=a+72|0;d=(k[b>>2]|0)+1|0;k[b>>2]=d;Lt(a,g,d,1)}else h=18;while(0);do if((h|0)==18){b=a+19|0;d=i[b>>0]|0;if(!(d<<24>>24)){b=a+72|0;d=(k[b>>2]|0)+1|0;k[b>>2]=d}else{d=d+-1<<24>>24;i[b>>0]=d;d=k[a+((d&255)<<2)+24>>2]|0}b=ns(a,g,d)|0;if((b|0)==(d|0)){k[c>>2]=d;break}else{ds(a,d);k[c>>2]=0;d=b;break}}while(0);r=j;return d|0}function fu(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,l=0;l=Tu(a,b,c)|0;j=Gu(b,pv(c)|0)|0;c=a+8|0;b=k[c>>2]|0;Ch(b,Bh(b,d,f,g,e)|0,l,-4);c=k[c>>2]|0;b=k[c+4>>2]|0;if(b)i[b+(((k[c+32>>2]|0)+-1|0)*20|0)+3>>0]=j&255|h;return}function gu(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0;b=a+100|0;k[b>>2]=(k[b>>2]|0)+-1;e=a+19|0;h=0;j=a+116|0;while(1){f=j+12|0;g=k[f>>2]|0;if((g|0)!=0?(k[j+8>>2]|0)>(k[b>>2]|0):0){c=j+6|0;if(i[c>>0]|0){d=i[e>>0]|0;if((d&255)<8){i[e>>0]=d+1<<24>>24;k[a+((d&255)<<2)+24>>2]=g}i[c>>0]=0}k[f>>2]=0}h=h+1|0;if((h|0)==10)break;else j=j+20|0}return}function hu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=k[a>>2]|0;a:do if(b){b:while(1){d=k[b+4>>2]|0;if(d&512){b=0;h=21;break a}switch(i[b>>0]|0){case 62:case -102:case -100:{h=8;break}case 38:case -98:{b=k[b+12>>2]|0;break}case 95:{h=7;break b}case -97:{if((i[b+38>>0]|0)==95){h=7;break b}else h=8;break}default:h=11}if((h|0)==8){c=k[b+44>>2]|0;if(!c)h=11;else{h=9;break}}c:do if((h|0)==11){h=0;if(!(d&256)){b=0;h=21;break a}c=k[b+12>>2]|0;if((c|0)!=0?(k[c+4>>2]&256|0)!=0:0){b=c;continue b}e=k[b+16>>2]|0;c=k[b+20>>2]|0;if((c|0)!=0&(d&2048|0)==0?(f=k[c>>2]|0,(f|0)>0):0){c=k[c+4>>2]|0;d=0;while(1){b=k[c+(d*20|0)>>2]|0;d=d+1|0;if(k[b+4>>2]&256)break c;if((d|0)>=(f|0)){b=e;break}}}else b=e}while(0);if(!b){b=0;h=21;break a}}if((h|0)==7)b=Bs(a,i[g+62>>0]|0,0,k[b+8>>2]|0)|0;else if((h|0)==9){b=j[b+32>>1]|0;if(b<<16>>16<=-1){b=0;h=21;break}b=bo(g,i[g+62>>0]|0,k[(k[c+4>>2]|0)+((b<<16>>16)*24|0)+16>>2]|0,0)|0}if(b)if(!(Bs(a,i[(k[a>>2]|0)+62>>0]|0,b,k[b>>2]|0)|0))b=0;else h=21;else{b=0;h=21}}else{b=0;h=21}while(0);return b|0}function iu(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0,n=0,o=0,p=0;p=r;r=r+16|0;if((r|0)>=(s|0))ka();o=p+4|0;n=p;k[o>>2]=0;k[n>>2]=0;if((((d|0)!=0?(i[d>>0]|0)==-102:0)?(g=k[d+44>>2]|0,(g|0)!=0):0)?(i[g+44>>0]&16)!=0:0){d=g+60|0;while(1){d=k[d>>2]|0;if((k[d>>2]|0)==(a|0))break;else d=d+24|0}f=k[d+8>>2]|0;e=(k[f>>2]|0)+72|0;if((k[e>>2]|0)!=0?(l=b+24|0,h=ph(a,k[l>>2]|0)|0,(h|0)!=0):0){g=i[h>>0]|0;if(g<<24>>24){d=h;do{i[d>>0]=i[9328+(g&255)>>0]|0;d=d+1|0;g=i[d>>0]|0}while(g<<24>>24!=0)}c=yc[k[e>>2]&31](f,c,h,o,n)|0;rg(a,h);if(c){d=k[l>>2]|0;if(!d){d=37;f=0}else{f=d;while(1)if(!(i[f>>0]|0))break;else f=f+1|0;d=(f-d&1073741823)+37|0;f=0}e=rh(a,d,f)|0;if(e){kw(e|0,0,d|0)|0;g=e+0|0;f=b+0|0;d=g+36|0;do{k[g>>2]=k[f>>2];g=g+4|0;f=f+4|0}while((g|0)<(d|0));g=e+36|0;k[e+24>>2]=g;d=k[l>>2]|0;if(!d)f=1;else{f=d;while(1)if(!(i[f>>0]|0))break;else f=f+1|0;f=(f-d&1073741823)+1|0}pw(g|0,d|0,f|0)|0;k[e+12>>2]=k[o>>2];k[e+4>>2]=k[n>>2];n=e+2|0;j[n>>1]=m[n>>1]|16}else e=b}else e=b}else e=b}else e=b;r=p;return e|0}function ju(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=r;r=r+80|0;if((r|0)>=(s|0))ka();x=z;v=z+72|0;m=z+52|0;w=z+48|0;l=z+28|0;y=Tq(a)|0;a:do if(!y)e=0;else{e=a+100|0;k[e>>2]=(k[e>>2]|0)+1;e=b+4|0;if(!(k[e>>2]&32)){o=Tq(a)|0;j=a+80|0;f=k[j>>2]|0;k[j>>2]=f+1;f=Bh(o,44,f,0,0)|0}else f=-1;if((i[a+450>>0]|0)==2){h=k[a>>2]|0;j=(i[b>>0]|0)==75?29104:29112;o=k[a+468>>2]|0;k[x>>2]=(f|0)>-1?10360:29088;k[x+4>>2]=j;k[x+8>>2]=o;h=zh(h,29056,x)|0;Ch(y,Bh(y,157,k[a+464>>2]|0,0,0)|0,h,-1);h=b}else h=b;j=i[h>>0]|0;b:do if(j<<24>>24==75){l=b+12|0;g=pv(k[l>>2]|0)|0;i[v>>0]=g;q=a+68|0;t=k[q>>2]|0;k[q>>2]=t+1;q=b+28|0;k[q>>2]=t;p=(d|0)!=0;t=Bh(y,57,t,p&1^1,0)|0;if(p)u=0;else u=Ws(k[a>>2]|0,1,1)|0;j=b+20|0;do if(!(k[e>>2]&2048)){j=k[j>>2]|0;if(j){if(!(g<<24>>24))i[v>>0]=65;if(u){o=hu(a,k[l>>2]|0)|0;k[u+20>>2]=o}d=a+19|0;g=i[d>>0]|0;if(g<<24>>24){o=g+-1<<24>>24;i[d>>0]=o;h=k[a+((o&255)<<2)+24>>2]|0;if(!(o<<24>>24))n=24;else{o=g+-2<<24>>24;i[d>>0]=o;o=k[a+((o&255)<<2)+24>>2]|0}}else{n=a+72|0;h=(k[n>>2]|0)+1|0;k[n>>2]=h;n=24}if((n|0)==24){n=a+72|0;o=(k[n>>2]|0)+1|0;k[n>>2]=o}if(p)Bh(y,28,0,o,0)|0;l=k[j>>2]|0;if((l|0)>0){g=x+20|0;e=x+4|0;n=x+24|0;m=y+32|0;d=k[j+4>>2]|0;while(1){j=k[d>>2]|0;do if((f|0)>-1){k[x+0>>2]=0;k[x+4>>2]=0;k[x+8>>2]=0;k[x+12>>2]=0;k[x+16>>2]=0;k[x+20>>2]=0;i[g>>0]=1;k[x>>2]=78;k[e>>2]=79;k[n>>2]=0;ws(x,j)|0;if(i[g>>0]|0)break;Eh(y,f);f=-1}while(0);do if(p)if(!(Rs(j,w)|0)){j=ns(a,j,h)|0;Bh(y,38,j,(k[m>>2]|0)+2|0,0)|0;Bh(y,75,k[q>>2]|0,o,j)|0;break}else{Bh(y,84,k[q>>2]|0,o,k[w>>2]|0)|0;break}else{j=ns(a,j,h)|0;Ch(y,Bh(y,49,j,1,o)|0,v,1);it(a,j,1);Bh(y,110,k[q>>2]|0,o,0)|0}while(0);l=l+-1|0;if((l|0)<=0)break;else d=d+20|0}}ds(a,h);ds(a,o)}if(!u){g=f;e=0;break b}}else{h=k[j>>2]|0;o=k[q>>2]|0;i[m>>0]=11;k[m+4>>2]=o;k[m+8>>2]=0;k[m+12>>2]=0;i[m+1>>0]=g;k[h+8>>2]=0;if(!(nr(a,h,m)|0)){o=Tu(a,k[l>>2]|0,k[k[(k[h>>2]|0)+4>>2]>>2]|0)|0;k[u+20>>2]=o;break}if(!u){e=0;break a}o=(k[u>>2]|0)+-1|0;k[u>>2]=o;if(o){e=0;break a}$c(u);e=0;break a}while(0);Ch(y,t,u,-6);g=f;e=0}else{g=k[b+20>>2]|0;h=a+72|0;e=(k[h>>2]|0)+1|0;k[h>>2]=e;i[l>>0]=0;h=l+4|0;k[h>>2]=e;i[l+1>>0]=0;d=l+8|0;k[d>>2]=0;k[l+12>>2]=0;if(j<<24>>24==119){i[l>>0]=10;k[d>>2]=e;Bh(y,28,0,e,0)|0}else{i[l>>0]=3;Bh(y,25,0,e,0)|0}o=g+60|0;Lk(k[a>>2]|0,k[o>>2]|0);n=cr(a,132,0,0,20624)|0;k[o>>2]=n;k[g+8>>2]=0;if(nr(a,g,l)|0){e=0;break a}g=f;e=k[h>>2]|0}while(0);if(c)qv(y,k[b+28>>2]|0,c);if((g|0)>-1){f=k[y+32>>2]|0;if(f>>>0>g>>>0)k[(k[y+4>>2]|0)+(g*20|0)+8>>2]=f;k[(k[y+24>>2]|0)+88>>2]=f+-1}gu(a)}while(0);r=z;return e|0}function ku(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0,w=0,x=0,y=0;y=r;r=r+16|0;if((r|0)>=(s|0))ka();h=y+4|0;v=y+8|0;t=y;k[h>>2]=0;x=k[a+8>>2]|0;e=(c|0)==(d|0);g=rv(a,b,3,e?0:h)|0;j=sv(b)|0;i[v>>0]=j;j=a+100|0;k[j>>2]=(k[j>>2]|0)+1;j=a+19|0;f=i[j>>0]|0;if(!(f<<24>>24)){p=a+72|0;w=(k[p>>2]|0)+1|0;k[p>>2]=w}else{w=f+-1<<24>>24;i[j>>0]=w;w=k[a+((w&255)<<2)+24>>2]|0}f=b+12|0;Wq(a,k[f>>2]|0,w);do if((g|0)==5){p=k[b+20>>2]|0;n=hu(a,k[f>>2]|0)|0;q=Cs(x)|0;o=(d|0)!=(c|0);if(o){f=i[j>>0]|0;if(!(f<<24>>24)){m=a+72|0;f=(k[m>>2]|0)+1|0;k[m>>2]=f}else{f=f+-1<<24>>24;i[j>>0]=f;f=k[a+((f&255)<<2)+24>>2]|0}Bh(x,85,w,w,f)|0;m=f}else m=0;if((k[p>>2]|0)>0){j=p+4|0;h=(m|0)==0;g=x+4|0;f=x+32|0;e=0;do{b=eu(a,k[(k[j>>2]|0)+(e*20|0)>>2]|0,t)|0;if(!h?(Zu(k[(k[j>>2]|0)+(e*20|0)>>2]|0)|0)!=0:0)Bh(x,85,m,b,m)|0;if((e|0)<((k[p>>2]|0)+-1|0)|o){Ch(x,Bh(x,79,w,q,b)|0,n,-4);b=k[g>>2]|0;if(b)i[b+(((k[f>>2]|0)+-1|0)*20|0)+3>>0]=i[v>>0]|0}else{Ch(x,Bh(x,78,w,c,b)|0,n,-4);b=k[g>>2]|0;if(b)i[b+(((k[f>>2]|0)+-1|0)*20|0)+3>>0]=l[v>>0]|0|16}ds(a,k[t>>2]|0);e=e+1|0}while((e|0)<(k[p>>2]|0))}if(m){Bh(x,76,m,d,0)|0;Bh(x,16,0,c,0)|0}f=k[x+24>>2]|0;e=~q;if((q|0)<0?(u=k[f+112>>2]|0,(u|0)!=0):0)k[u+(e<<2)>>2]=k[x+32>>2];k[f+88>>2]=(k[x+32>>2]|0)+-1;ds(a,m)}else{do if(Zu(k[f>>2]|0)|0){if(e){Bh(x,76,w,c,0)|0;break}f=Bh(x,77,w,0,0)|0;Bh(x,108,k[b+28>>2]|0,c,0)|0;Bh(x,16,0,d,0)|0;e=k[x+32>>2]|0;if(e>>>0>f>>>0)k[(k[x+4>>2]|0)+(f*20|0)+8>>2]=e;k[(k[x+24>>2]|0)+88>>2]=e+-1}while(0);if((g|0)==1){Bh(x,38,w,c,0)|0;Bh(x,70,k[b+28>>2]|0,c,w)|0;break}Ch(x,Bh(x,48,w,1,0)|0,v,1);e=k[b+28>>2]|0;if(!(k[h>>2]|0)){Ch(x,Bh(x,68,e,c,w)|0,1,-14);break}f=Bh(x,69,e,0,w)|0;Ch(x,f,1,-14);Bh(x,76,k[h>>2]|0,d,0)|0;Bh(x,16,0,c,0)|0;e=k[x+32>>2]|0;if(e>>>0>f>>>0)k[(k[x+4>>2]|0)+(f*20|0)+8>>2]=e;k[(k[x+24>>2]|0)+88>>2]=e+-1}while(0);ds(a,w);gu(a);r=y;return}function lu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0.0,n=0,o=0,q=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=r;r=r+48|0;if((r|0)>=(s|0))ka();B=C;z=C+28|0;c=k[a+24>>2]|0;A=k[c>>2]|0;x=b+4|0;f=k[x>>2]|0;a:do if(!(f&4)){k[x>>2]=f|4;switch(l[b>>0]|0){case 153:{w=b+20|0;t=k[w>>2]|0;if(!t)e=0;else e=k[t>>2]|0;f=i[(k[A>>2]|0)+62>>0]|0;y=c+28|0;if(j[y>>1]&16){k[B>>2]=27200;yh(A,27512,B)}u=k[b+8>>2]|0;if(!u)o=0;else{g=u;while(1)if(!(i[g>>0]|0))break;else g=g+1|0;o=g-u&1073741823}d=Xh(k[A>>2]|0,u,o,e,f,0)|0;do if(!d){if(Xh(k[A>>2]|0,u,o,-2,f,0)|0){k[B>>2]=o;k[B+4>>2]=u;yh(A,27392,B);u=c+24|0;k[u>>2]=(k[u>>2]|0)+1;break}if(!(i[(k[A>>2]|0)+145>>0]|0)){k[B>>2]=o;k[B+4>>2]=u;yh(A,27368,B);u=c+24|0;k[u>>2]=(k[u>>2]|0)+1}}else{n=(k[d+12>>2]|0)==0;v=d+2|0;do if(j[v>>1]&1024){k[x>>2]=k[x>>2]|266240;if((e|0)!=2){k[b+28>>2]=(i[k[d+24>>2]>>0]|0)==117?8388608:125829120;break}g=k[(k[t+4>>2]|0)+20>>2]|0;p[B>>3]=-1.0;if((i[g>>0]|0)==-123){f=k[g+8>>2]|0;if(!f)g=0;else{g=f;while(1)if(!(i[g>>0]|0))break;else g=g+1|0;g=g-f&1073741823}Yl(f,B,g,1)|0;h=+p[B>>3];if(!(h>1.0)){g=~~(h*134217728.0);k[b+28>>2]=g;if((g|0)>=0)break}else q=22}else q=22;if((q|0)==22)k[b+28>>2]=-1;yh(A,27216,B);q=c+24|0;k[q>>2]=(k[q>>2]|0)+1}while(0);g=d+24|0;f=Xq(A,31,0,k[g>>2]|0,0)|0;if(!f){if(j[v>>1]&2048)k[x>>2]=k[x>>2]|524288;if(!n)break;g=j[y>>1]|0;if(!(g&1)){k[B>>2]=o;k[B+4>>2]=u;yh(A,27328,B);u=c+24|0;k[u>>2]=(k[u>>2]|0)+1;break}j[y>>1]=g&65534;qu(a,t)|0;i[b>>0]=-101;f=b+38|0;i[f>>0]=0;b:do if(c){e=B+24|0;d=z+4|0;g=z+8|0;while(1){u=k[c+4>>2]|0;k[B+0>>2]=0;k[B+4>>2]=0;k[B+8>>2]=0;k[B+12>>2]=0;k[B+16>>2]=0;k[B+20>>2]=0;k[B>>2]=87;k[e>>2]=z;k[z>>2]=u;k[d>>2]=0;k[g>>2]=0;qu(B,k[w>>2]|0)|0;if((k[d>>2]|0)>0)break;if(!(k[g>>2]|0))break;i[f>>0]=(i[f>>0]|0)+1<<24>>24;c=k[c+16>>2]|0;if(!c)break b}u=c+28|0;j[u>>1]=m[v>>1]&4096|m[u>>1]|2}while(0);j[y>>1]=m[y>>1]|1;c=1;break a}else if((f|0)==1){k[B>>2]=k[g>>2];yh(A,27288,B);u=c+24|0;k[u>>2]=(k[u>>2]|0)+1}i[b>>0]=101;c=1;break a}while(0);qu(a,t)|0;c=1;break a}case 135:{d=c+28|0;c=j[d>>1]|0;if(c&4){k[B>>2]=27456;yh(A,27472,B);c=j[d>>1]|0}if(c&16){k[B>>2]=27456;yh(A,27512,B)}break}case 75:case 20:case 119:{if(f&2048){g=c+20|0;d=k[g>>2]|0;e=c+28|0;f=j[e>>1]|0;if(f&4){k[B>>2]=27440;yh(A,27472,B);f=j[e>>1]|0}if(f&16){k[B>>2]=27440;yh(A,27512,B)}pu(a,k[b+20>>2]|0)|0;if((d|0)!=(k[g>>2]|0))k[x>>2]=k[x>>2]|32}break}case 27:{c=tv(A,0,0,k[b+8>>2]|0,c,b)|0;break a}case 122:{d=k[b+16>>2]|0;if((i[d>>0]|0)==27){f=d;d=b;e=0}else{f=k[d+16>>2]|0;e=k[(k[b+12>>2]|0)+8>>2]|0}c=tv(A,e,k[(k[d+12>>2]|0)+8>>2]|0,k[f+8>>2]|0,c,b)|0;break a}default:{}}if(!(k[A+64>>2]|0))c=(i[(k[A>>2]|0)+65>>0]|0)!=0?2:0;else c=2}else c=1;while(0);r=C;return c|0}function mu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;M=r;r=r+80|0;if((r|0)>=(s|0))ka();L=M;J=M+64|0;E=M+32|0;g=j[b+6>>1]|0;d=g&65535;a:do if(!(d&2)){D=k[a+24>>2]|0;K=k[a+12>>2]|0;a=k[K>>2]|0;if(!(d&16)){Is(K,b,D);if(k[K+64>>2]|0){c=2;break}c=(i[a+65>>0]|0)!=0?2:1;break}F=b+52|0;c=(k[F>>2]|0)!=0;G=(b|0)==0;b:do if(!G){d=E+28|0;l=E+4|0;A=E+16|0;B=E+8|0;w=a+65|0;v=K+492|0;u=(D|0)==0;t=L+4|0;q=L+12|0;p=L+24|0;o=K+64|0;x=b;c:while(1){y=x+6|0;j[y>>1]=g&65535|2;k[E+0>>2]=0;k[E+4>>2]=0;k[E+8>>2]=0;k[E+12>>2]=0;k[E+16>>2]=0;k[E+20>>2]=0;k[E+24>>2]=0;k[E+28>>2]=0;k[E>>2]=K;if(qs(E,k[x+60>>2]|0)|0){c=2;break a}if(qs(E,k[x+64>>2]|0)|0){c=2;break a}g=k[x+32>>2]|0;if(j[y>>1]&8192){z=x+48|0;k[(k[g+28>>2]|0)+48>>2]=k[z>>2];k[z>>2]=0}z=x+32|0;if((k[g>>2]|0)>0){n=0;do{e=k[g+(n*72|0)+28>>2]|0;if(e){a=k[v>>2]|0;if(u)h=0;else{h=0;f=D;do{h=(k[f+20>>2]|0)+h|0;f=k[f+16>>2]|0}while((f|0)!=0)}f=k[g+(n*72|0)+16>>2]|0;if(f)k[v>>2]=f;k[L+0>>2]=0;k[L+4>>2]=0;k[L+8>>2]=0;k[L+12>>2]=0;k[L+16>>2]=0;k[L+20>>2]=0;k[L>>2]=82;k[t>>2]=83;k[q>>2]=K;k[p>>2]=D;pu(L,e)|0;k[v>>2]=a;if(k[o>>2]|0){c=2;break a}if(i[w>>0]|0){c=2;break a}if(!u){f=D;do{h=h-(k[f+20>>2]|0)|0;f=k[f+16>>2]|0}while((f|0)!=0)}g=g+(n*72|0)+45|0;i[g>>0]=i[g>>0]&-3|((h|0)!=0&1)<<1&255;g=k[z>>2]|0}n=n+1|0}while((n|0)<(k[g>>2]|0))}j[d>>1]=1;k[l>>2]=g;k[A>>2]=D;h=k[x>>2]|0;if((k[h>>2]|0)>0){g=h+4|0;f=0;do{if(qs(E,k[(k[g>>2]|0)+(f*20|0)>>2]|0)|0){c=2;break a}f=f+1|0}while((f|0)<(k[h>>2]|0))}e=k[x+40>>2]|0;g=(e|0)!=0;h=j[d>>1]|0;if(!g?(C=h&65535,(C&2|0)==0):0)j[d>>1]=C&65534;else j[y>>1]=h&4096|m[y>>1]|4;h=k[x+44>>2]|0;if(!((h|0)==0|g)){H=32;break}k[B>>2]=k[x>>2];if(qs(E,h)|0){c=2;break a}if(qs(E,k[x+36>>2]|0)|0){c=2;break a}k[A>>2]=0;j[d>>1]=m[d>>1]|1;if(j[y>>1]&8192){z=(k[(k[z>>2]|0)+28>>2]|0)+48|0;k[x+48>>2]=k[z>>2];k[z>>2]=0}if(!c?(vv(E,x,k[x+48>>2]|0,26880)|0)!=0:0){c=2;break a}if(i[w>>0]|0){c=2;break a}do if(g){if(vv(E,x,e,26888)|0){c=2;break a}if(i[w>>0]|0){c=2;break a}f=k[e>>2]|0;if((f|0)<=0)break;h=0;g=k[e+4>>2]|0;while(1){if(k[(k[g>>2]|0)+4>>2]&2){H=46;break c}h=h+1|0;if((h|0)>=(f|0))break;else g=g+20|0}}while(0);f=k[x+52>>2]|0;if(!f)break b;x=f;g=j[f+6>>1]|0}if((H|0)==32){yh(K,26832,L);c=2;break a}else if((H|0)==46){yh(K,26896,L);c=2;break a}}while(0);if(c?(I=k[b+48>>2]|0,(I|0)!=0):0){C=k[K>>2]|0;d=k[I>>2]|0;if((d|0)>(k[C+96>>2]|0)){yh(K,26960,L);c=2;break}if((d|0)>0){a=I+4|0;c=0;do{d=(k[a>>2]|0)+(c*20|0)+13|0;i[d>>0]=i[d>>0]&-2;c=c+1|0;d=k[I>>2]|0}while((c|0)<(d|0))}k[b+56>>2]=0;c=k[F>>2]|0;if(!c)if(G)a=I+4|0;else H=60;else while(1){k[c+56>>2]=b;b=k[c+52>>2]|0;if(!b){b=c;H=60;break}else{B=c;c=b;b=B}}d:do if((H|0)==60){a=I+4|0;u=C+65|0;v=L+4|0;w=L+8|0;x=L+28|0;y=L+24|0;z=L+4|0;t=b;e:while(1){q=k[t>>2]|0;if((d|0)<=0)break d;o=t+32|0;c=0;n=0;p=k[a>>2]|0;while(1){k[J>>2]=-1;l=p+13|0;do if(!(i[l>>0]&1)){d=k[p>>2]|0;f:do if(!d)d=0;else while(1){b=k[d+4>>2]|0;if(!(b&4096))break f;if(!(b&262144))d=d+12|0;else d=k[(k[d+20>>2]|0)+4>>2]|0;d=k[d>>2]|0;if(!d){d=0;break}}while(0);if(!(Rs(d,J)|0)){b=wv(q,d)|0;k[J>>2]=b;if(!b){h=Rr(C,d,0,0)|0;if(!(i[u>>0]|0)){e=k[t>>2]|0;k[L+0>>2]=0;k[L+4>>2]=0;k[L+8>>2]=0;k[L+12>>2]=0;k[L+16>>2]=0;k[L+20>>2]=0;k[L+24>>2]=0;k[L+28>>2]=0;k[L>>2]=K;k[v>>2]=k[o>>2];k[w>>2]=e;j[x>>1]=1;k[y>>2]=0;A=(k[K>>2]|0)+68|0;b=i[A>>0]|0;i[A>>0]=1;B=qs(L,h)|0;i[A>>0]=b;g:do if(!B){g=e+4|0;f=k[e>>2]|0;e=0;while(1){if((e|0)>=(f|0)){b=0;break g}b=e+1|0;if((Hu(k[(k[g>>2]|0)+(e*20|0)>>2]|0,h,-1)|0)<2)break;else e=b}}else b=0;while(0);k[J>>2]=b}else b=0;Lk(C,h)}if((b|0)<=0){b=1;break}}else{e=k[J>>2]|0;b=k[q>>2]|0;if((e|0)<1|(e|0)>(b|0))break e;else b=e}k[L>>2]=0;k[z>>2]=0;e=sr(C,132,L,0)|0;if(!e){c=2;break a}f=e+4|0;k[f>>2]=k[f>>2]|1024;k[e+8>>2]=b;f=k[p>>2]|0;if((f|0)==(d|0))k[p>>2]=e;else k[f+12>>2]=e;Lk(C,d);j[p+16>>1]=b;i[l>>0]=i[l>>0]|1;b=n}else b=n;while(0);c=c+1|0;d=k[I>>2]|0;if((c|0)>=(d|0))break;else{n=b;p=p+20|0}}t=k[t+56>>2]|0;if(!((t|0)!=0&(b|0)!=0))break d}k[L>>2]=c+1;k[L+4>>2]=26880;k[L+8>>2]=b;yh(K,27064,L);c=2;break a}while(0);b=0;while(1){if((b|0)>=(d|0)){c=1;break a}c=b+1|0;if(!(i[(k[a>>2]|0)+(b*20|0)+13>>0]&1))break;else b=c}k[L>>2]=c;yh(K,27e3,L);c=2}else c=1}else c=1;while(0);r=M;return c|0}function nu(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=r;r=r+16|0;if((r|0)>=(s|0))ka();w=z;x=k[a>>2]|0;a:do if(b){q=k[b>>2]|0;a=q*24|0;e=rh(x,a,0)|0;if(e)kw(e|0,0,a|0)|0;j[c>>1]=q;k[d>>2]=e;if((q|0)>0){o=b+4|0;t=x+65|0;a=0;p=e;while(1){m=k[o>>2]|0;b=k[m+(a*20|0)>>2]|0;b:do if(!b)b=0;else while(1){f=k[b+4>>2]|0;if(!(f&4096))break b;if(!(f&262144))b=b+12|0;else b=k[(k[b+20>>2]|0)+4>>2]|0;b=k[b>>2]|0;if(!b){b=0;break}}while(0);f=k[m+(a*20|0)+4>>2]|0;do if(!f){while(1){f=i[b>>0]|0;if(f<<24>>24==-102){v=b;y=18;break}else if(f<<24>>24==27){y=24;break}else if(f<<24>>24!=122)break;b=k[b+16>>2]|0}if((y|0)==24){y=0;k[w>>2]=k[b+8>>2];b=zh(x,10344,w)|0;break}if((y|0)==18?(y=0,u=k[v+44>>2]|0,(u|0)!=0):0){b=j[v+32>>1]|0;if(b<<16>>16<0)b=j[u+36>>1]|0;else b=b<<16>>16;if((b|0)>-1)b=k[(k[u+4>>2]|0)+(b*24|0)>>2]|0;else b=20456;k[w>>2]=b;b=zh(x,10344,w)|0;break}k[w>>2]=k[m+(a*20|0)+8>>2];b=zh(x,10344,w)|0}else b=ph(x,f)|0;while(0);if(i[t>>0]|0)break;if(!b){h=0;b=0}else{f=b;while(1)if(!(i[f>>0]|0))break;else f=f+1|0;h=f-b&1073741823}c:do if((a|0)>0){f=0;m=0;n=h;while(1){if(!(id(k[e+(m*24|0)>>2]|0,b)|0)){g=n;while(1){h=g+-1|0;if((h|0)<=1)break;if(((l[b+h>>0]|0)+-48|0)>>>0<10)g=h;else break}if((g|0)>0)g=(i[b+h>>0]|0)==58?h:n;else g=n;i[b+g>>0]=0;f=f+1|0;k[w>>2]=b;k[w+4>>2]=f;h=zh(x,26824,w)|0;rg(x,b);if(!h){b=0;break c}else{m=-1;b=h}}else g=n;m=m+1|0;if((m|0)>=(a|0))break;else n=g}}while(0);k[p>>2]=b;a=a+1|0;if((a|0)<(q|0))p=p+24|0;else{b=t;break a}}rg(x,b);b=t}else y=6}else{j[c>>1]=0;k[d>>2]=0;e=0;y=6}while(0);if((y|0)==6){b=x+65|0;a=0}if(i[b>>0]|0){if((a|0)>0){b=0;do{rg(x,k[e+(b*24|0)>>2]|0);b=b+1|0}while((b|0)!=(a|0))}rg(x,e);k[d>>2]=0;j[c>>1]=0}r=z;return}function ou(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,t=0;p=r;r=r+32|0;if((r|0)>=(s|0))ka();o=p;n=k[a>>2]|0;if(!(i[n+65>>0]|0)){k[o+0>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;k[o+12>>2]=0;k[o+16>>2]=0;k[o+20>>2]=0;k[o+24>>2]=0;k[o+28>>2]=0;k[o+4>>2]=k[c+32>>2];g=k[(k[c>>2]|0)+4>>2]|0;f=b+38|0;if((j[f>>1]|0)>0){c=0;d=0;h=0;m=k[b+4>>2]|0;while(1){e=k[g+(h*20|0)>>2]|0;q=m+22|0;t=ph(n,Du(o,e,q)|0)|0;k[m+12>>2]=t;c=ow(l[q>>0]|0,0,c|0,d|0)|0;d=L;q=pv(e)|0;i[m+21>>0]=q<<24>>24==0?65:q;e=hu(a,e)|0;if(e){e=ph(n,k[e>>2]|0)|0;k[m+16>>2]=e}h=h+1|0;if((h|0)>=(j[f>>1]|0))break;else m=m+24|0}d=nw(c|0,d|0,2)|0;c=L}else{d=0;c=0}o=ks(d,c)|0;j[b+42>>1]=o}r=p;return}function pu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;do if(!b)c=0;else{f=a+4|0;d=k[f>>2]|0;if((d|0)==0?(k[a+8>>2]|0)==0:0){c=0;break}i=a+16|0;k[i>>2]=(k[i>>2]|0)+1;g=a+8|0;a:while(1){if((d|0)!=0?(c=wc[d&127](a,b)|0,(c|0)!=0):0){j=24;break}if(qu(a,k[b>>2]|0)|0){j=19;break}if(ws(a,k[b+36>>2]|0)|0){j=19;break}if(qu(a,k[b+40>>2]|0)|0){j=19;break}if(ws(a,k[b+44>>2]|0)|0){j=19;break}if(qu(a,k[b+48>>2]|0)|0){j=19;break}if(ws(a,k[b+60>>2]|0)|0){j=19;break}if(ws(a,k[b+64>>2]|0)|0){j=19;break}d=k[b+32>>2]|0;if((d|0)!=0?(h=k[d>>2]|0,(h|0)>0):0){e=h;d=d+8|0;while(1){if(pu(a,k[d+20>>2]|0)|0){j=19;break a}e=e+-1|0;if((e|0)<=0)break;else d=d+72|0}}d=k[g>>2]|0;if(d)oc[d&15](a,b);b=k[b+52>>2]|0;if(!b){c=0;break}d=k[f>>2]|0}if((j|0)==19){k[i>>2]=(k[i>>2]|0)+-1;c=2;break}else if((j|0)==24)c=c&2;k[i>>2]=(k[i>>2]|0)+-1}while(0);return c|0}function qu(a,b){a=a|0;b=b|0;var c=0;a:do if((b|0)!=0?(c=k[b>>2]|0,(c|0)>0):0){b=k[b+4>>2]|0;while(1){if(ws(a,k[b>>2]|0)|0){c=2;break a}c=c+-1|0;if((c|0)<=0){c=0;break}else b=b+20|0}}else c=0;while(0);return c|0}function ru(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;if((r|0)>=(s|0))ka();b=c;k[b>>2]=0;if((k[a+4>>2]&1|0)==0?(Rs(a,b)|0)!=0:0)a=(k[b>>2]|0)==0&1;else a=0;r=c;return a|0}function su(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,l=0,n=0,o=0,p=0,q=0;q=r;r=r+32|0;if((r|0)>=(s|0))ka();o=q;f=k[c+12>>2]|0;k[o+0>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;k[o+12>>2]=0;k[o+16>>2]=0;k[o+20>>2]=200;i[o+24>>0]=1;i[o+25>>0]=0;k[o>>2]=k[a>>2];l=c+46|0;if(j[l>>1]|0){n=c+4|0;g=f+4|0;p=0;do{h=k[(k[g>>2]|0)+((j[(k[n>>2]|0)+(p<<1)>>1]|0)*24|0)>>2]|0;if(p)Xk(o,28920,2);e=k[f>>2]|0;if(!e)d=0;else{d=e;while(1)if(!(i[d>>0]|0))break;else d=d+1|0;d=d-e&1073741823}Xk(o,e,d);Xk(o,28928,1);if(!h)d=0;else{d=h;while(1)if(!(i[d>>0]|0))break;else d=d+1|0;d=d-h&1073741823}Xk(o,h,d);p=p+1|0}while((p|0)<(m[l>>1]|0))}p=yg(o)|0;Es(a,(i[c+51>>0]&3)==2?1555:2067,b,p,-1,2);r=q;return}function tu(a,b){a=a|0;b=b|0;return 0}function uu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0,n=0,o=0,p=0;p=r;r=r+16|0;if((r|0)>=(s|0))ka();o=p+8|0;l=p;n=b+52|0;a:do if((k[n>>2]|0)!=0?(d=k[b+48>>2]|0,!((d|0)==0|(b|0)==0)):0){c=b;while(1){h=i[c+4>>0]|0;if(!(h<<24>>24==119|h<<24>>24==116))break;c=k[c+52>>2]|0;if(!c){c=0;break a}}e=k[d+4>>2]|0;c=k[d>>2]|0;while(1){d=c+-1|0;if((c|0)<=0){c=0;break a}if(!(k[(k[e+(d*20|0)>>2]|0)+4>>2]&256))c=d;else break}if((c|0)>=1){c=k[a+12>>2]|0;f=k[c>>2]|0;a=rh(f,72,0)|0;if(a){g=a+0|0;h=g+72|0;do{i[g>>0]=0;g=g+1|0}while((g|0)<(h|0));e=l;k[e>>2]=0;k[e+4>>2]=0;e=or(c,0,0,0,l,a,0,0)|0;if(e){g=a+0|0;d=b+0|0;h=g+72|0;do{k[g>>2]=k[d>>2];g=g+4|0;d=d+4|0}while((g|0)<(h|0));k[b+32>>2]=e;k[o>>2]=0;k[o+4>>2]=0;c=qr(c,0,sr(f,116,o,0)|0)|0;k[b>>2]=c;i[b+4>>0]=119;k[b+36>>2]=0;k[a+40>>2]=0;k[a+44>>2]=0;k[a+48>>2]=0;k[n>>2]=0;k[b+56>>2]=0;c=b+6|0;j[c>>1]=(m[c>>1]|0)&57279|8192;k[(k[a+52>>2]|0)+56>>2]=a;k[a+60>>2]=0;k[a+64>>2]=0;c=0}else c=2}else c=2}else c=0}else c=0;while(0);r=p;return c|0}function vu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;X=r;r=r+32|0;if((r|0)>=(s|0))ka();W=X;T=X+16|0;G=a+12|0;V=k[G>>2]|0;U=k[V>>2]|0;R=b+6|0;g=m[R>>1]|0;j[R>>1]=g|16;S=U+65|0;a:do if(!(i[S>>0]|0)){F=b+32|0;P=k[F>>2]|0;if((P|0)!=0&(g&16|0)==0){Q=k[b>>2]|0;if((k[a+8>>2]|0)==9){g=b;while(1){f=k[g+56>>2]|0;if(!f)break;else g=f}g=k[g+68>>2]|0;if(g){C=V+532|0;k[g+4>>2]=k[C>>2];k[C>>2]=g;i[V+449>>0]=0}}Hs(V,P);O=P+8|0;g=k[P>>2]|0;b:do if((g|0)>0){B=0;v=O;c:while(1){if(!(i[v+37>>0]&8)){C=v+16|0;c=k[G>>2]|0;if(k[C>>2]|0){d=c;N=10;break}q=k[c>>2]|0;f=c+532|0;h=k[f>>2]|0;d:do if((k[v+4>>2]|0)==0?(E=k[v+8>>2]|0,!((E|0)==0|(h|0)==0)):0){e:while(1){n=k[h>>2]|0;if((n|0)>0){e=0;do{g=h+(e<<4)+8|0;d=k[g>>2]|0;if(!(id(E,d)|0)){z=e;break e}e=e+1|0}while((e|0)<(n|0))}h=k[h+4>>2]|0;if(!h){N=46;break d}}w=h+(z<<4)+20|0;n=k[w>>2]|0;if(n){b=n;N=21;break c}y=rh(q,76,0)|0;if(!y){b=C;N=23;break c}o=y+0|0;n=o+76|0;do{i[o>>0]=0;o=o+1|0}while((o|0)<(n|0));k[C>>2]=y;t=y+40|0;j[t>>1]=1;A=ph(q,k[g>>2]|0)|0;k[y>>2]=A;j[y+36>>1]=-1;j[y+28>>1]=200;A=y+44|0;i[A>>0]=l[A>>0]|2;A=lr(q,k[h+(z<<4)+16>>2]|0,0)|0;k[v+20>>2]=A;if(i[q+65>>0]|0){b=2;break a}x=((i[A+4>>0]|0)+-115&255)<2;if(x?(u=k[A+32>>2]|0,D=k[u>>2]|0,(D|0)>0):0){n=A+6|0;o=D;q=0;do{do if(!(k[u+(q*72|0)+12>>2]|0)){p=k[u+(q*72|0)+16>>2]|0;if(!p)break;if(id(p,k[g>>2]|0)|0)break;k[u+(q*72|0)+24>>2]=y;o=u+(q*72|0)+45|0;i[o>>0]=i[o>>0]|8;j[t>>1]=(j[t>>1]|0)+1<<16>>16;j[n>>1]=m[n>>1]|2048;o=k[u>>2]|0}while(0);q=q+1|0}while((q|0)<(o|0))}if((m[t>>1]|0)>2){b=g;N=34;break c}k[w>>2]=28176;e=k[f>>2]|0;k[f>>2]=h;if(x)n=k[A+52>>2]|0;else n=A;pu(a,n)|0;n=A;while(1){d=k[n+52>>2]|0;if(!d)break;else n=d}d=k[n>>2]|0;n=k[h+(z<<4)+12>>2]|0;do if(n){if(!d)break;p=k[d>>2]|0;d=k[n>>2]|0;if((p|0)!=(d|0)){b=p;N=42;break c}}else n=d;while(0);nu(c,n,y+38|0,y+4|0);if(x){k[w>>2]=(j[A+6>>1]&2048)==0?28280:28240;pu(a,A)|0}k[w>>2]=0;k[f>>2]=e;if(!(k[C>>2]|0))N=46}else N=46;while(0);do if((N|0)==46){N=0;if(!(k[v+8>>2]|0)){h=k[v+20>>2]|0;if(pu(a,h)|0){b=2;break a}f=rh(U,76,0)|0;if(!f){b=C;N=49;break c}o=f+0|0;n=o+76|0;do{i[o>>0]=0;o=o+1|0}while((o|0)<(n|0));k[C>>2]=f;j[f+40>>1]=1;k[W>>2]=f;C=zh(U,27760,W)|0;k[f>>2]=C;while(1){g=k[h+52>>2]|0;if(!g)break;else h=g}nu(V,k[h>>2]|0,f+38|0,f+4|0);j[f+36>>1]=-1;j[f+28>>1]=200;C=f+44|0;i[C>>0]=l[C>>0]|2;break}c=Zr(V,0,v)|0;k[C>>2]=c;if(!c){b=2;break a}h=c+40|0;g=j[h>>1]|0;if(g<<16>>16==-1){b=C;N=55;break c}j[h>>1]=g+1<<16>>16;h=c+12|0;if((k[h>>2]|0)==0?(i[c+44>>0]&16)==0:0)break;if(mr(V,c)|0){b=2;break a}C=lr(U,k[h>>2]|0,0)|0;k[v+20>>2]=C;pu(a,C)|0}while(0);if(Wt(V,v)|0){b=2;break a}g=k[P>>2]|0}B=B+1|0;if((B|0)>=(g|0))break b;else v=v+72|0}if((N|0)==10){while(1){c=k[b+56>>2]|0;if(!c)break;else b=c}b=k[b+68>>2]|0;if(!b){b=1;break a}k[d+532>>2]=k[b+4>>2];b=1;break a}else if((N|0)==21){k[W>>2]=d;yh(c,b,W);b=2;break a}else if((N|0)==23){k[b>>2]=0;b=2;break a}else if((N|0)==34){k[W>>2]=k[b>>2];yh(c,28128,W);b=2;break a}else if((N|0)==42){k[W>>2]=k[g>>2];k[W+4>>2]=b;k[W+8>>2]=d;yh(c,28200,W);k[f>>2]=e;b=2;break a}else if((N|0)==49){k[b>>2]=0;b=2;break a}else if((N|0)==55){k[W>>2]=k[c>>2];yh(V,27776,W);k[b>>2]=0;b=2;break a}}while(0);if(!(i[S>>0]|0)){v=k[F>>2]|0;f:do if(((k[v>>2]|0)+-1|0)>0){w=b+36|0;y=0;z=v+8|0;A=v+80|0;g:while(1){x=k[A+16>>2]|0;if(!((k[z+16>>2]|0)==0|(x|0)==0)){D=l[A+36>>0]|0;u=D&32;q=(u|0)==0;u=u>>>5;t=A+44|0;if(D&4){if(k[t>>2]|0){N=73;break}g=A+48|0;if(k[g>>2]|0){N=73;break}d=x+38|0;h=j[d>>1]|0;if(h<<16>>16>0){c=x+4|0;p=y+1|0;o=0;do{f=k[(k[c>>2]|0)+(o*24|0)>>2]|0;e=0;do{n=xv(k[v+(e*72|0)+24>>2]|0,f)|0;if((n|0)>-1){h=e;N=77;break}e=e+1|0}while((e|0)<(p|0));if((N|0)==77){N=0;yv(V,v,h,n,p,o,u,w);h=j[d>>1]|0}o=o+1|0}while((o|0)<(h<<16>>16|0))}}else g=A+48|0;h=k[t>>2]|0;if(h){if(k[g>>2]|0){N=81;break}if(!q){zv(h,k[A+40>>2]|0);h=k[t>>2]|0}D=xs(k[V>>2]|0,k[w>>2]|0,h)|0;k[w>>2]=D;k[t>>2]=0}f=k[g>>2]|0;if((f|0)!=0?(M=f+4|0,(k[M>>2]|0)>0):0){e=y+1|0;n=0;do{c=k[(k[f>>2]|0)+(n<<3)>>2]|0;d=xv(x,c)|0;if((d|0)<0){N=91;break g}else h=0;while(1){g=xv(k[v+(h*72|0)+24>>2]|0,c)|0;if((g|0)>-1)break;h=h+1|0;if((h|0)>=(e|0)){N=91;break g}}yv(V,v,h,g,e,d,u,w);n=n+1|0}while((n|0)<(k[M>>2]|0))}}y=y+1|0;if((y|0)>=((k[v>>2]|0)+-1|0))break f;else{z=z+72|0;A=A+72|0}}if((N|0)==73){k[W>>2]=0;yh(V,27928,W);b=2;break a}else if((N|0)==81){yh(V,27984,W);b=2;break a}else if((N|0)==91){k[W>>2]=c;yh(V,28040,W);b=2;break a}}while(0);c=k[Q>>2]|0;h=(c|0)>0;h:do if(h){d=k[Q+4>>2]|0;g=0;do{f=k[d+(g*20|0)>>2]|0;e=i[f>>0]|0;if(e<<24>>24==122){if((i[k[f+16>>2]>>0]|0)==116)break h}else if(e<<24>>24==116)break h;g=g+1|0}while((g|0)<(c|0))}else g=0;while(0);if((g|0)<(c|0)){M=k[Q+4>>2]|0;g=k[(k[V>>2]|0)+24>>2]|0;if(!(g&32))L=0;else L=(g&64|0)==0;if(h){H=U+20|0;I=U+16|0;J=T+4|0;K=0;c=0;do{f=M+(K*20|0)|0;h=k[f>>2]|0;g=i[h>>0]|0;if(g<<24>>24==116){a=0;N=110}else if(g<<24>>24==122?(i[k[h+16>>2]>>0]|0)==116:0){a=k[(k[h+12>>2]|0)+8>>2]|0;N=110}else N=106;do if((N|0)==106){c=qr(V,c,h)|0;if(c){C=M+(K*20|0)+4|0;B=(k[c>>2]|0)+-1|0;A=k[c+4>>2]|0;k[A+(B*20|0)+4>>2]=k[C>>2];D=M+(K*20|0)+8|0;k[A+(B*20|0)+8>>2]=k[D>>2];k[C>>2]=0;k[D>>2]=0}k[f>>2]=0}else if((N|0)==110){if((k[P>>2]|0)>0){D=(a|0)==0;E=(a|0)!=0;F=0;G=O;g=0;while(1){q=k[G+16>>2]|0;f=k[G+20>>2]|0;h=k[G+12>>2]|0;if(!h)h=k[q>>2]|0;if(i[S>>0]|0)break;if((f|0)!=0?(j[f+6>>1]&512)!=0:0){C=0;N=125}else N=117;do if((N|0)==117){N=0;if(!D?(id(a,h)|0)!=0:0)break;n=k[q+68>>2]|0;if(!n){f=0;C=27816;N=125;break}e=k[H>>2]|0;o=k[I>>2]|0;if((e|0)>0){d=0;while(1){f=d+1|0;if((k[o+(d<<4)+12>>2]|0)==(n|0)){f=d;break}if((f|0)<(e|0))d=f;else break}if((f|0)>-1)e=f;else{f=0;C=27816;N=125;break}}else e=0;f=0;C=k[o+(e<<4)>>2]|0;N=125}while(0);do if((N|0)==125){N=0;B=q+38|0;t=j[B>>1]|0;if(t<<16>>16<=0)break;x=q+4|0;w=(f|0)!=0;o=E&w;y=(F|0)>0;p=y&D;v=G+36|0;y=y^1;u=G+48|0;n=(C|0)==0;z=0;do{q=k[x>>2]|0;d=k[q+(z*24|0)>>2]|0;if(!(o?(Av(k[(k[(k[f>>2]|0)+4>>2]|0)+(z*20|0)+8>>2]|0,0,a,0)|0)==0:0))N=129;i:do if((N|0)==129){N=0;if(i[q+(z*24|0)+23>>0]&2)break;if(p){if(!((i[v>>0]&4)==0|y)){q=0;do{if((xv(k[P+(q*72|0)+24>>2]|0,d)|0)>-1){g=1;break i}q=q+1|0}while((q|0)<(F|0))}if((Bv(k[u>>2]|0,d)|0)>-1){g=1;break}}t=yt(U,27,d)|0;if(!L?(k[P>>2]|0)<=1:0){e=d;A=0}else N=137;do if((N|0)==137){N=0;t=cr(V,122,yt(U,27,h)|0,t,0)|0;if(!n)t=cr(V,122,yt(U,27,C)|0,t,0)|0;if(!L){e=d;A=0;break}k[W>>2]=h;k[W+4>>2]=d;A=zh(U,27824,W)|0;e=A}while(0);c=qr(V,c,t)|0;k[T>>2]=e;if(!e)t=0;else{t=e;while(1)if(!(i[t>>0]|0))break;else t=t+1|0;t=t-e&1073741823}k[J>>2]=t;rr(V,c,T,0);do if(c){if(!(j[R>>1]&512))break;q=(k[c>>2]|0)+-1|0;d=k[c+4>>2]|0;if(w)t=ph(U,k[(k[(k[f>>2]|0)+4>>2]|0)+(z*20|0)+8>>2]|0)|0;else{k[W>>2]=C;k[W+4>>2]=h;k[W+8>>2]=e;t=zh(U,27832,W)|0}k[d+(q*20|0)+8>>2]=t;t=d+(q*20|0)+13|0;i[t>>0]=i[t>>0]|2}while(0);rg(U,A);t=j[B>>1]|0;g=1}while(0);z=z+1|0}while((z|0)<(t<<16>>16|0))}while(0);F=F+1|0;if((F|0)>=(k[P>>2]|0))break;else G=G+72|0}if(g)break}if(!a){yh(V,27872,W);break}else{k[W>>2]=a;yh(V,27848,W);break}}while(0);K=K+1|0}while((K|0)<(k[Q>>2]|0))}else c=0;Sk(U,Q);k[b>>2]=c}else c=k[b>>2]|0;if((c|0)!=0?(k[c>>2]|0)>(k[U+96>>2]|0):0){yh(V,27896,W);b=0}else b=0}else b=2}else b=1}else b=2;while(0);r=X;return b|0}function wu(a,b){a=a|0;b=b|0;var c=0;c=k[a+12>>2]|0;while(1){a=k[b+56>>2]|0;if(!a)break;else b=a}b=k[b+68>>2]|0;if(b)k[c+532>>2]=k[b+4>>2];return}function xu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;d=b+6|0;e=m[d>>1]|0;if((e&32|0)==0?(j[d>>1]=e|32,h=k[a+12>>2]|0,f=k[b+32>>2]|0,c=k[f>>2]|0,(c|0)>0):0){b=0;d=f+8|0;while(1){a=k[d+16>>2]|0;if(((a|0)!=0?(i[a+44>>0]&2)!=0:0)?(g=k[d+20>>2]|0,(g|0)!=0):0){c=g;while(1){e=k[c+52>>2]|0;if(!e)break;else c=e}ou(h,a,c);c=k[f>>2]|0}b=b+1|0;if((b|0)>=(c|0))break;else d=d+72|0}}return}function yu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;if((a|0)!=0?(c=k[a>>2]|0,(c|0)>0):0){f=k[a+4>>2]|0;e=0;do{d=k[f+(e*20|0)>>2]|0;if((d|0)!=0?(g=k[d+24>>2]|0,(g|0)>(k[b>>2]|0)):0){k[b>>2]=g;c=k[a>>2]|0}e=e+1|0}while((e|0)<(c|0))}return}function zu(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;if(((b|0)!=0?(Ls(a,k[b>>2]|0,c,d),Ls(a,k[b+40>>2]|0,c,d),Ls(a,k[b+48>>2]|0,c,d),f=b+44|0,g=Ms(a,k[f>>2]|0,c,d)|0,k[f>>2]=g,f=b+36|0,g=Ms(a,k[f>>2]|0,c,d)|0,k[f>>2]=g,zu(a,k[b+52>>2]|0,c,d),f=k[b+32>>2]|0,(f|0)!=0):0)?(e=k[f>>2]|0,(e|0)>0):0){b=e;e=f+8|0;while(1){zu(a,k[e+20>>2]|0,c,d);b=b+-1|0;if((b|0)<=0)break;else e=e+72|0}}return}function Au(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0;c=k[b+48>>2]|0;j=k[c>>2]|0;d=k[a>>2]|0;l=Ws(d,j+1|0,1)|0;if((l|0)!=0&(j|0)>0){h=c+4|0;f=d+8|0;e=l+16|0;g=0;do{d=k[h>>2]|0;c=k[d+(g*20|0)>>2]|0;if(!(k[c+4>>2]&256)){d=Xs(a,b,(m[d+(g*20|0)+16>>1]|0)+-1|0)|0;if(!d)d=k[f>>2]|0;c=Cv(a,c,k[d>>2]|0)|0;k[(k[h>>2]|0)+(g*20|0)>>2]=c}else d=hu(a,c)|0;k[l+(g<<2)+20>>2]=d;i[(k[e>>2]|0)+g>>0]=i[(k[h>>2]|0)+(g*20|0)+12>>0]|0;g=g+1|0}while((g|0)!=(j|0))}return l|0}function Bu(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0,m=0;m=r;r=r+16|0;if((r|0)>=(s|0))ka();l=m;e=k[a>>2]|0;a:do if((c|0)!=0?(i[e+65>>0]|0)==0:0){f=k[c>>2]|0;if((f|0)>(k[e+96>>2]|0)){k[l>>2]=d;yh(a,27120,l);b=1;break}h=k[b>>2]|0;if((f|0)>0){e=f;b=0;g=k[c+4>>2]|0;while(1){f=j[g+16>>1]|0;if(f<<16>>16){f=f&65535;e=k[h>>2]|0;if((f|0)>(e|0))break;Dv(a,h,f+-1|0,k[g>>2]|0,d,0);e=k[c>>2]|0}b=b+1|0;if((b|0)>=(e|0)){b=0;break a}else g=g+20|0}k[l>>2]=b+1;k[l+4>>2]=d;k[l+8>>2]=e;yh(a,27064,l);b=1}else b=0}else b=0;while(0);r=m;return b|0}function Cu(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;t=a+8|0;u=k[t>>2]|0;w=u+32|0;j=k[w>>2]|0;x=Cs(u)|0;if(f){n=Bh(u,46,f,0,0)|0;m=c+8|0;p=k[m>>2]|0;r=f+1|0;o=c+12|0;q=k[o>>2]|0;if(g)k[g>>2]=(k[g>>2]|0)+1;p=Bh(u,42,p,r,q)|0;Ch(u,p,g,-6);p=p+2|0;Bh(u,43,p,x,p)|0;p=k[w>>2]|0;if(p>>>0>n>>>0)k[(k[u+4>>2]|0)+(n*20|0)+8>>2]=p;k[(k[u+24>>2]|0)+88>>2]=p+-1;Bh(u,33,k[m>>2]|0,r,(k[o>>2]|0)+-1|0)|0;Bh(u,25,1,f,0)|0}if(!(i[(k[a>>2]|0)+65>>0]|0)){nt(u,k[b+12>>2]|0,x);switch(l[d>>0]|0){case 11:{o=d+1|0;n=Gu(k[k[(k[b>>2]|0)+4>>2]>>2]|0,i[o>>0]|0)|0;i[o>>0]=n;n=a+19|0;m=i[n>>0]|0;if(!(m<<24>>24)){s=a+72|0;n=(k[s>>2]|0)+1|0;k[s>>2]=n}else{s=m+-1<<24>>24;i[n>>0]=s;n=k[a+((s&255)<<2)+24>>2]|0}s=c+8|0;Ch(u,Bh(u,49,k[s>>2]|0,1,n)|0,o,1);it(a,k[s>>2]|0,1);Bh(u,110,k[d+4>>2]|0,n,0)|0;ds(a,n);break}case 13:{q=d+8|0;n=k[q>>2]|0;if(!n){n=k[c+12>>2]|0;o=a+60|0;m=k[o>>2]|0;g=a+56|0;p=k[g>>2]|0;if((p|0)<(n|0)){s=a+72|0;m=k[s>>2]|0;k[s>>2]=m+n;m=m+1|0}else{k[o>>2]=m+n;k[g>>2]=p-n}k[q>>2]=m;k[d+12>>2]=n}else{m=n;n=k[d+12>>2]|0}s=k[c+8>>2]|0;Bh(k[t>>2]|0,32,s,m,n)|0;it(a,s,n);Bh(u,22,k[d+4>>2]|0,0,0)|0;break}case 12:case 14:{m=a+19|0;o=i[m>>0]|0;if(o<<24>>24){f=o+-1<<24>>24;i[m>>0]=f;n=k[a+((f&255)<<2)+24>>2]|0;if(!(f<<24>>24))s=12;else{o=o+-2<<24>>24;i[m>>0]=o;o=k[a+((o&255)<<2)+24>>2]|0;m=n}}else{s=a+72|0;n=(k[s>>2]|0)+1|0;k[s>>2]=n;s=12}if((s|0)==12){m=a+72|0;o=(k[m>>2]|0)+1|0;k[m>>2]=o;m=n}Bh(u,49,k[c+8>>2]|0,k[c+12>>2]|0,m)|0;n=d+4|0;Bh(u,74,k[n>>2]|0,o,0)|0;Bh(u,75,k[n>>2]|0,m,o)|0;n=k[u+4>>2]|0;if(n)i[n+(((k[w>>2]|0)+-1|0)*20|0)+3>>0]=8;ds(a,o);ds(a,m);break}case 10:{s=k[c+8>>2]|0;Bh(k[t>>2]|0,32,s,k[d+4>>2]|0,1)|0;it(a,s,1);break}default:{f=c+8|0;s=c+12|0;Bh(u,35,k[f>>2]|0,k[s>>2]|0,0)|0;it(a,k[f>>2]|0,k[s>>2]|0)}}m=k[b+8>>2]|0;if(m)Bh(u,140,m,h,0)|0;m=k[u+24>>2]|0;n=~x;if((x|0)<0?(v=k[m+112>>2]|0,(v|0)!=0):0)k[v+(n<<2)>>2]=k[w>>2];k[m+88>>2]=(k[w>>2]|0)+-1;Bh(u,18,e,0,0)|0}else j=0;return j|0}function Du(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+80|0;if((r|0)>=(s|0))ka();p=q+64|0;o=q+32|0;f=q;i[p>>0]=1;if((b|0)!=0?(k[a+4>>2]|0)!=0:0){e=l[b>>0]|0;a:do if((e|0)==119){o=k[b+20>>2]|0;d=k[k[(k[o>>2]|0)+4>>2]>>2]|0;k[f+4>>2]=k[o+32>>2];k[f+16>>2]=a;k[f>>2]=k[a>>2];d=Du(f,d,p)|0}else if((e|0)==154|(e|0)==156?(n=j[b+32>>1]|0,d=n<<16>>16,(a|0)!=0):0){m=b+28|0;b:while(1){while(1){h=k[a+4>>2]|0;g=k[h>>2]|0;c:do if((g|0)>0){b=k[m>>2]|0;e=0;while(1){f=e+1|0;if((k[h+(e*72|0)+48>>2]|0)==(b|0)){f=e;break c}if((f|0)<(g|0))e=f;else break}}else f=0;while(0);if((f|0)>=(g|0))break;g=k[h+(f*72|0)+24>>2]|0;b=k[h+(f*72|0)+28>>2]|0;f=(g|0)==0;if(!((a|0)!=0&f))break b}a=k[a+16>>2]|0;if(!a){d=0;break a}}if(!f){if(b){if(n<<16>>16<=-1){d=0;break}e=k[b>>2]|0;if((d|0)>=(k[e>>2]|0)){d=0;break}d=k[(k[e+4>>2]|0)+(d*20|0)>>2]|0;k[o+4>>2]=k[b+32>>2];k[o+16>>2]=a;k[o>>2]=k[a>>2];d=Du(o,d,p)|0;break}if(k[g+68>>2]|0){if(n<<16>>16<0)d=j[g+36>>1]|0;if((d|0)<0)d=11144;else{n=k[g+4>>2]|0;o=k[n+(d*24|0)+12>>2]|0;i[p>>0]=i[n+(d*24|0)+22>>0]|0;d=o}}else d=0}else d=0}else d=0;while(0);if(c)i[c>>0]=i[p>>0]|0}else d=0;r=q;return d|0}function Eu(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=k[a+8>>2]|0;f=a+19|0;g=i[f>>0]|0;if(!(g<<24>>24)){g=a+72|0;f=(k[g>>2]|0)+1|0;k[g>>2]=f}else{g=g+-1<<24>>24;i[f>>0]=g;f=k[a+((g&255)<<2)+24>>2]|0}Ch(h,Bh(h,69,b,c,e)|0,d,-14);Bh(h,49,e,d,f)|0;Bh(h,110,b,f,0)|0;ds(a,f);return}function Fu(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;u=a+8|0;z=k[u>>2]|0;y=b+24|0;h=i[y>>0]&1;n=h<<24>>24==0;h=(h^1)&255;g=k[b>>2]|0;o=k[g>>2]|0;p=o+e+h|0;s=a+72|0;l=k[s>>2]|0;x=l+1|0;k[s>>2]=x;v=b+4|0;q=k[v>>2]|0;f=(f|0)==0;if(f){k[s>>2]=x+p;t=l+2|0}else t=d-o-h|0;gt(a,g,t,1);if(n)Bh(z,73,k[b+8>>2]|0,t+o|0,0)|0;if(f){Bh(k[u>>2]|0,32,d,h+o+t|0,e)|0;it(a,d,e)}Bh(z,49,t+q|0,p-q|0,x)|0;if((q|0)>0){g=k[s>>2]|0;e=g+1|0;f=k[v>>2]|0;k[s>>2]=f+g;if(n)d=Bh(z,46,t+o|0,0,0)|0;else d=Bh(z,59,k[b+8>>2]|0,0,0)|0;Bh(z,42,e,t,k[v>>2]|0)|0;l=k[b+20>>2]|0;if((l|0)<0)l=(k[z+32>>2]|0)+-1|0;if(!(i[(k[z>>2]|0)+65>>0]|0))l=(k[z+4>>2]|0)+(l*20|0)|0;else l=29120;if(!(i[(k[a>>2]|0)+65>>0]|0)){k[l+8>>2]=p-f;l=l+16|0;f=k[l>>2]|0;kw(k[f+16>>2]|0,0,m[f+6>>1]|0)|0;Ch(z,-1,f,-6);f=Zs(a,k[b>>2]|0,q,(m[f+8>>1]|0)+-1|0)|0;k[l>>2]=f;l=z+32|0;f=k[l>>2]|0;j=f+1|0;Bh(z,43,j,0,j)|0;j=Cs(z)|0;k[b+16>>2]=j;h=(k[s>>2]|0)+1|0;k[s>>2]=h;k[b+12>>2]=h;Bh(z,17,h,j,0)|0;j=b+8|0;Bh(z,119,k[j>>2]|0,0,0)|0;h=k[l>>2]|0;if(h>>>0>d>>>0)k[(k[z+4>>2]|0)+(d*20|0)+8>>2]=h;g=z+24|0;k[(k[g>>2]|0)+88>>2]=h+-1;h=k[v>>2]|0;Bh(k[u>>2]|0,32,t,e,h)|0;it(a,t,h);h=k[l>>2]|0;if(h>>>0>f>>>0)k[(k[z+4>>2]|0)+(f*20|0)+8>>2]=h;k[(k[g>>2]|0)+88>>2]=h+-1;r=23}}else{j=b+8|0;r=23}if((r|0)==23?(Bh(z,110-(i[y>>0]&1)|0,k[j>>2]|0,x,0)|0,w=k[c+8>>2]|0,(w|0)!=0):0){h=k[c+12>>2]|0;h=Bh(z,139,(h|0)==0?w:h+1|0,0,-1)|0;Bh(z,105,k[j>>2]|0,0,0)|0;Bh(z,95,k[j>>2]|0,0,0)|0;g=k[z+32>>2]|0;if(g>>>0>h>>>0)k[(k[z+4>>2]|0)+(h*20|0)+8>>2]=g;k[(k[z+24>>2]|0)+88>>2]=g+-1}return}function Gu(a,b){a=a|0;b=b|0;a=pv(a)|0;if(!(a<<24>>24==0|b<<24>>24==0))return (a<<24>>24>66|b<<24>>24>66?67:65)|0;if(!((a|b)<<24>>24))a=65;else a=(b&255)+(a&255)&255;return a|0}function Hu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,l=0;do if(!((a|0)==0|(b|0)==0)){g=k[a+4>>2]|0;h=k[b+4>>2]|0;l=h|g;if(l&1024){if((g&1024&h|0)!=0?(k[a+8>>2]|0)==(k[b+8>>2]|0):0){d=0;break}d=2;break}d=i[a>>0]|0;e=i[b>>0]|0;if(d<<24>>24!=e<<24>>24){if(d<<24>>24==95?(Hu(k[a+12>>2]|0,b,c)|0)<2:0){d=1;break}if(e<<24>>24==95?(Hu(a,k[b+12>>2]|0,c)|0)<2:0){d=1;break}d=2;break}if((!(d<<24>>24==-100|d<<24>>24==-102)?(f=k[a+8>>2]|0,(f|0)!=0):0)?(dw(f,k[b+8>>2]|0)|0)!=0:0){d=d<<24>>24==95?1:2;break}if(!((h^g)&16)){if(!(l&16384)){if(l&2048){d=2;break}if(Hu(k[a+12>>2]|0,k[b+12>>2]|0,c)|0){d=2;break}if(Hu(k[a+16>>2]|0,k[b+16>>2]|0,c)|0){d=2;break}if(Ys(k[a+20>>2]|0,k[b+20>>2]|0,c)|0){d=2;break}if(!(l&8192)){if((j[a+32>>1]|0)!=(j[b+32>>1]|0)){d=2;break}e=k[a+28>>2]|0;d=k[b+28>>2]|0;if((e|0)!=(d|0)?(e|0)!=(c|0)|(d|0)>-1:0){d=2;break}}}d=0}else d=2}else d=(b|0)==(a|0)?0:2;while(0);return d|0}function Iu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=a+8|0;i[d>>0]=c;a:do if(b){while(1){if((i[b>>0]|0)!=c<<24>>24)break;Iu(a,k[b+12>>2]|0,c);b=k[b+16>>2]|0;i[d>>0]=c;if(!b)break a}Ev(a,b,0)|0}while(0);return}function Ju(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0;C=k[a>>2]|0;Q=k[C>>2]|0;S=k[Q>>2]|0;K=S+65|0;do if(!(i[K>>0]|0)){T=a+20|0;f=k[T>>2]|0;c=f+(b*48|0)|0;_=C+68|0;R=k[c>>2]|0;s=R+12|0;g=k[s>>2]|0;x=Fv(_,g)|0;w=L;e=i[R>>0]|0;u=e&255;do if(e<<24>>24==75){h=R+20|0;if(!(k[R+4>>2]&2048)){d=Qu(_,k[h>>2]|0)|0;t=L;P=f+(b*48|0)+32|0;k[P>>2]=d;k[P+4>>2]=t;break}else{d=Gv(_,k[h>>2]|0)|0;t=L;P=f+(b*48|0)+32|0;k[P>>2]=d;k[P+4>>2]=t;break}}else if(e<<24>>24==76){d=f+(b*48|0)+32|0;k[d>>2]=0;k[d+4>>2]=0;d=0;t=0}else{d=Fv(_,k[R+16>>2]|0)|0;t=L;P=f+(b*48|0)+32|0;k[P>>2]=d;k[P+4>>2]=t}while(0);q=Fv(_,R)|0;h=L;N=R+4|0;if(!(k[N>>2]&1)){O=0;P=0;v=h}else{o=j[R+36>>1]|0;n=k[_>>2]|0;a:do if((n|0)>0){p=0;while(1){if((k[C+(p<<2)+72>>2]|0)==(o|0))break;p=p+1|0;if((p|0)>=(n|0)){p=0;o=0;break a}}p=nw(1,0,p|0)|0;o=L}else{p=0;o=0}while(0);O=ow(p|0,o|0,-1,-1)|0;P=L;q=p|q;v=o|h}r=f+(b*48|0)+40|0;k[r>>2]=q;k[r+4>>2]=v;r=f+(b*48|0)+8|0;k[r>>2]=-1;k[f+(b*48|0)+4>>2]=-1;z=f+(b*48|0)+18|0;j[z>>1]=0;p=u+-75|0;if(p>>>0<9?(499>>>(p&511)&1)!=0:0){b:do if(!g)g=0;else while(1){p=k[g+4>>2]|0;if(!(p&4096))break b;if(!(p&262144))n=g+12|0;else n=k[(k[g+20>>2]|0)+4>>2]|0;g=k[n>>2]|0;if(!g){g=0;break}}while(0);p=k[R+16>>2]|0;c:do if(!p)p=0;else while(1){o=k[p+4>>2]|0;if(!(o&4096))break c;if(!(o&262144))p=p+12|0;else p=k[(k[p+20>>2]|0)+4>>2]|0;p=k[p>>2]|0;if(!p){p=0;break}}while(0);t=(d&x|0)==0&(t&w|0)==0?4095:1024;if((i[g>>0]|0)==-102){h=k[g+28>>2]|0;k[r>>2]=h;k[f+(b*48|0)+12>>2]=j[g+32>>1];if((u|0)==76)n=128;else if((u|0)==75)n=1;else n=2<<u+-79&65535;j[z>>1]=n&t}else h=-1;if((p|0)!=0?(i[p>>0]|0)==-102:0){if((h|0)>-1){g=Rr(S,R,0,0)|0;if(i[K>>0]|0){Lk(S,g);break}h=Ev(a,g,3)|0;if(!h)break;n=k[T>>2]|0;f=n+(h*48|0)|0;k[n+(h*48|0)+4>>2]=b;j[n+(h*48|0)+16>>1]=j[n+(b*48|0)+16>>1]|0;c=n+(b*48|0)+22|0;i[c>>0]=(i[c>>0]|0)+1<<24>>24;c=n+(b*48|0)|0;p=n+(b*48|0)+20|0;j[p>>1]=m[p>>1]|8;if(((i[R>>0]|0)==79?(k[N>>2]&1|0)==0:0)?(j[S+60>>1]&512)==0:0){s=n+(b*48|0)+18|0;j[s>>1]=m[s>>1]|1024;s=1024}else s=0}else{s=0;g=R;f=c}e=g+16|0;o=(k[e>>2]|0)+4|0;n=k[o>>2]|0;h=n&256;d=g+12|0;p=k[d>>2]|0;do if((h|0)==(k[p+4>>2]&256|0)){if(h){k[o>>2]=n&-257;break}p=(hu(Q,p)|0)==0;n=k[d>>2]|0;if(p)p=n;else{p=n+4|0;k[p>>2]=k[p>>2]|256;p=n}}while(0);n=k[e>>2]|0;k[e>>2]=p;k[d>>2]=n;h=i[g>>0]|0;if((h&255)>79){h=((h&255)+176^2)+80&255;i[g>>0]=h}g=k[n+4>>2]|0;if(g&4096)do{if(!(g&262144))n=n+12|0;else n=k[(k[n+20>>2]|0)+4>>2]|0;n=k[n>>2]|0;g=k[n+4>>2]|0}while((g&4096|0)!=0);k[f+8>>2]=k[n+28>>2];k[f+12>>2]=j[n+32>>1];g=f+32|0;k[g>>2]=O|x;k[g+4>>2]=P|w;g=f+40|0;k[g>>2]=q;k[g+4>>2]=v;g=h&255;if((g|0)==76)g=128;else if((g|0)==75)g=1;else g=2<<g+-79&65535;j[f+18>>1]=g+s&(t&65535)}}else G=59;do if((G|0)==59){if(e<<24>>24==74){if((i[a+8>>0]|0)!=72)break;h=(k[R+20>>2]|0)+4|0;d=R+36|0;e=0;while(1){q=l[34144+e>>0]|0;g=Rr(S,g,0,0)|0;g=cr(Q,q,g,Rr(S,k[(k[h>>2]|0)+(e*20|0)>>2]|0,0,0)|0,0)|0;if(g){q=g+4|0;k[q>>2]=k[q>>2]|k[N>>2]&1;j[g+36>>1]=j[d>>1]|0}q=Ev(a,g,3)|0;Ju(a,q);f=k[T>>2]|0;k[f+(q*48|0)+4>>2]=b;j[f+(q*48|0)+16>>1]=j[f+(b*48|0)+16>>1]|0;q=f+(b*48|0)+22|0;i[q>>0]=(i[q>>0]|0)+1<<24>>24;e=e+1|0;if((e|0)==2)break;g=k[s>>2]|0}c=f+(b*48|0)|0;break}else if(e<<24>>24!=71)break;x=rh(S,416,0)|0;d:do if(x){kw(x|0,0,416)|0;k[f+(b*48|0)+12>>2]=x;A=f+(b*48|0)+20|0;j[A>>1]=m[A>>1]|16;k[x>>2]=C;k[x+4>>2]=0;A=x+12|0;k[A>>2]=0;k[x+16>>2]=8;B=x+20|0;k[B>>2]=x+24;Iu(x,R,71);h=k[A>>2]|0;if((h|0)>0)do{h=h+-1|0;Ju(x,h)}while((h|0)>0);if(!(i[K>>0]|0)){p=k[A>>2]|0;if((p|0)>0){w=C+68|0;v=-1;u=-1;d=-1;c=-1;t=k[B>>2]|0;while(1){p=p+-1|0;o=t+18|0;s=j[o>>1]|0;if(!(s&255)){g=rh(S,408,0)|0;if(!g){h=v;n=u;d=0;c=0}else{k[t+12>>2]=g;n=t+20|0;j[n>>1]=m[n>>1]|32;j[o>>1]=512;k[g>>2]=k[a>>2];n=g+4|0;k[n>>2]=0;h=g+12|0;k[h>>2]=0;k[g+16>>2]=8;q=g+20|0;k[q>>2]=g+24;Iu(g,k[t>>2]|0,72);o=k[h>>2]|0;if((o|0)>0)do{o=o+-1|0;Ju(g,o)}while((o|0)>0);k[n>>2]=a;if((i[K>>0]|0)==0?(y=k[h>>2]|0,(y|0)>0):0){o=0;n=0;c=0;r=k[q>>2]|0;while(1){h=(l[k[r>>2]>>0]|0)+-75|0;do if(h>>>0<9){if(!(499>>>(h&511)&1))break;g=k[r+8>>2]|0;e=k[w>>2]|0;e:do if((e|0)>0){h=0;while(1){if((k[C+(h<<2)+72>>2]|0)==(g|0))break;h=h+1|0;if((h|0)>=(e|0)){h=0;g=0;break e}}h=nw(1,0,h|0)|0;g=L}else{h=0;g=0}while(0);o=h|o;n=g|n}while(0);c=c+1|0;if((c|0)>=(y|0))break;else r=r+48|0}}else{o=0;n=0}h=o&v;n=n&u;d=0;c=0}}else{n=j[t+20>>1]|0;if(!(n&8)){q=k[t+8>>2]|0;g=k[w>>2]|0;h=(g|0)>0;f:do if(h){o=0;while(1){if((k[C+(o<<2)+72>>2]|0)==(q|0))break;o=o+1|0;if((o|0)>=(g|0)){e=0;r=0;break f}}e=nw(1,0,o|0)|0;r=L}else{e=0;r=0}while(0);if(!(n&2)){o=e;q=r}else{q=k[(k[B>>2]|0)+((k[t+4>>2]|0)*48|0)+8>>2]|0;g:do if(h){o=0;while(1){if((k[C+(o<<2)+72>>2]|0)==(q|0))break;o=o+1|0;if((o|0)>=(g|0)){o=0;q=0;break g}}o=nw(1,0,o|0)|0;q=L}else{o=0;q=0}while(0);o=o|e;q=q|r}g=(s&2)==0;h=o&v;n=q&u;d=g?0:o&d;c=g?0:q&c}else{h=v;n=u}}o=(h|0)!=0|(n|0)!=0;if(!((p|0)>0&o))break;else{v=h;u=n;t=t+48|0}}q=x+408|0;k[q>>2]=h;k[q+4>>2]=n;j[z>>1]=(h|0)==0&(n|0)==0?0:256;if(o)G=104}else{d=x+408|0;k[d>>2]=-1;k[d+4>>2]=-1;j[z>>1]=256;d=-1;c=-1;G=104}h:do if((G|0)==104)if((k[A>>2]|0)==2){g=k[B>>2]|0;h=0;i:while(1){e=h+1|0;if((j[g+18>>1]|0)!=512)if(!h)o=g;else break h;else{n=k[g+12>>2]|0;if((k[n+12>>2]|0)<=(h|0))break h;o=(k[n+20>>2]|0)+(h*48|0)|0}if(!o)break h;else p=0;while(1){if((j[g+66>>1]|0)==512){n=k[g+60>>2]|0;if((k[n+12>>2]|0)<=(p|0)){h=e;continue i}n=(k[n+20>>2]|0)+(p*48|0)|0;if(!n){h=e;continue i}}else if(!p)n=g+48|0;else{h=e;continue i}Hv(a,o,n);g=k[B>>2]|0;p=p+1|0}}}while(0);if(!((d|0)==0&(c|0)==0)){r=C+68|0;q=-1;s=0;while(1){n=k[A>>2]|0;if((n|0)<=0)break d;p=k[B>>2]|0;while(1){e=n;n=n+-1|0;g=p+20|0;j[g>>1]=m[g>>1]&65471;g=k[p+8>>2]|0;if((g|0)!=(q|0)){h=k[r>>2]|0;j:do if((h|0)>0){o=0;while(1){if((k[C+(o<<2)+72>>2]|0)==(g|0))break;o=o+1|0;if((o|0)>=(h|0)){o=0;h=0;break j}}o=nw(1,0,o|0)|0;h=L}else{o=0;h=0}while(0);if(!((o&d|0)==0&(h&c|0)==0)){o=e;break}}if((n|0)<=0)break d;else p=p+48|0}h=k[p+12>>2]|0;if((o|0)<1)break d;else o=g;while(1){if((o|0)==(g|0)){if((k[p+12>>2]|0)!=(h|0)){n=g;h=1;break}q=pv(k[(k[p>>2]|0)+16>>2]|0)|0;if(!(q<<24>>24==0|q<<24>>24==(pv(k[(k[p>>2]|0)+12>>2]|0)|0)<<24>>24)){n=g;h=1;break}q=p+20|0;j[q>>1]=m[q>>1]|64}else{q=p+20|0;j[q>>1]=m[q>>1]&65471}if((n|0)<=0){n=g;h=0;break}o=k[p+56>>2]|0;n=n+-1|0;p=p+48|0}s=s+1|0;if(!((s|0)<2&h))break;else q=n}if(!h){g=k[A>>2]|0;if((g|0)>0){h=0;d=0;e=k[B>>2]|0;while(1){g=g+-1|0;if(j[e+20>>1]&64){h=Rr(S,k[(k[e>>2]|0)+16>>2]|0,0,0)|0;d=qr(k[C>>2]|0,d,h)|0;h=k[(k[e>>2]|0)+12>>2]|0}if((g|0)<=0){g=h;break}else e=e+48|0}}else{g=0;d=0}e=cr(Q,75,Rr(S,g,0,0)|0,0,0)|0;if(!e)Sk(S,d);else{q=e+4|0;k[q>>2]=k[q>>2]|k[N>>2]&1;j[e+36>>1]=j[R+36>>1]|0;k[e+20>>2]=d;q=Ev(a,e,3)|0;Ju(a,q);f=k[T>>2]|0;k[f+(q*48|0)+4>>2]=b;j[f+(q*48|0)+16>>1]=j[f+(b*48|0)+16>>1]|0;q=f+(b*48|0)+22|0;i[q>>0]=(i[q>>0]|0)+1<<24>>24}j[f+(b*48|0)+18>>1]=2048}}}}else k[f+(b*48|0)+12>>2]=0;while(0);c=(k[T>>2]|0)+(b*48|0)|0}while(0);k:do if((i[a+8>>0]|0)==72){u=k[Q>>2]|0;if((i[R>>0]|0)==-103){t=R+20|0;q=k[t>>2]|0;if((q|0)!=0?(k[q>>2]|0)==2:0){h=k[R+8>>2]|0;if(!h)g=0;else{g=h;while(1)if(!(i[g>>0]|0))break;else g=g+1|0;g=g-h&1073741823}g=Xh(u,h,g,2,1,0)|0;if(((((g|0)!=0?(D=j[g+2>>1]|0,(D&4)!=0):0)?(J=k[g+4>>2]|0,H=i[J>>0]|0,I=i[J+1>>0]|0,J=i[J+2>>0]|0,M=(D&65535)>>>3&1,E=(k[t>>2]|0)+4|0,F=k[(k[E>>2]|0)+20>>2]|0,(i[F>>0]|0)==-102):0)?(pv(F)|0)<<24>>24==66:0)?(i[(k[F+44>>2]|0)+44>>0]&16)==0:0){f=k[k[E>>2]>>2]|0;l:do if(!f)f=0;else while(1){e=k[f+4>>2]|0;if(!(e&4096))break l;if(!(e&262144))f=f+12|0;else f=k[(k[f+20>>2]|0)+4>>2]|0;f=k[f>>2]|0;if(!f){f=0;break}}while(0);e=i[f>>0]|0;r=e<<24>>24==-121;do if(r){g=k[Q+476>>2]|0;o=j[f+32>>1]|0;p=o<<16>>16;do if(!g){d=0;h=0}else{G=p+-1|0;F=k[g+60>>2]|0;d=F+(G*40|0)|0;if(j[F+(G*40|0)+8>>1]&1){d=0;h=0;break}h=k[g>>2]|0;n=rh(h,40,0)|0;if(!n){d=0;h=0;break}g=n+0|0;e=g+40|0;do{i[g>>0]=0;g=g+1|0}while((g|0)<(e|0));G=n+8|0;j[G>>1]=1;k[n+32>>2]=h;dh(n,d)|0;if((j[G>>1]&15)!=2){d=n;h=0;break}d=n;h=Xg(n,1)|0}while(0);g=k[Q+8>>2]|0;if(o<<16>>16>32){k[g+188>>2]=-1;q=h;G=177;break}else{q=g+188|0;k[q>>2]=k[q>>2]|1<<p+-1;q=h;G=177;break}}else if(e<<24>>24==97){d=0;q=k[f+8>>2]|0;G=177}else d=0;while(0);do if((G|0)==177)if(q){h=0;while(1){G=i[q+h>>0]|0;e=G<<24>>24==H<<24>>24;g=h+1|0;if(G<<24>>24!=J<<24>>24&((G<<24>>24==0|e|G<<24>>24==I<<24>>24)^1))h=g;else break}if(h){if((i[q+(h+-1)>>0]|0)==-1)break;if(e)g=(i[q+g>>0]|0)==0;else g=0;n=g&1;s=yt(u,97,q)|0;if(s)i[(k[s+8>>2]|0)+h>>0]=0;do if(r){h=k[Q+8>>2]|0;e=j[f+32>>1]|0;if(e<<16>>16>32)k[h+188>>2]=-1;else{J=h+188|0;k[J>>2]=k[J>>2]|1<<(e<<16>>16)+-1}if(!g){n=0;break}if(!(i[(k[f+8>>2]|0)+1>>0]|0))break;e=Q+19|0;g=i[e>>0]|0;if(!(g<<24>>24)){J=Q+72|0;e=(k[J>>2]|0)+1|0;k[J>>2]=e}else{J=g+-1<<24>>24;i[e>>0]=J;e=k[Q+((J&255)<<2)+24>>2]|0}ns(Q,f,e)|0;f=k[h+32>>2]|0;if(f>>>0>0)k[(k[h+4>>2]|0)+((f+-1|0)*20|0)+12>>2]=0;ds(Q,e)}while(0);Rh(d);if(!q){G=217;break k}o=k[(k[(k[t>>2]|0)+4>>2]|0)+20>>2]|0;h=Rr(S,s,0,0)|0;p=M<<16>>16!=0;do if(!p){if(i[(k[Q>>2]|0)+65>>0]|0)break;d=c+20|0;j[d>>1]=m[d>>1]|1024;d=s+8|0;g=k[d>>2]|0;f=i[g>>0]|0;if(!(f<<24>>24))break;c=h+8|0;e=0;do{J=f&255;i[g>>0]=((l[10368+J>>0]|223)^32)&J;i[(k[c>>2]|0)+e>>0]=i[9328+J>>0]|0;e=e+1|0;g=(k[d>>2]|0)+e|0;f=i[g>>0]|0}while(f<<24>>24!=0)}while(0);if(!(i[K>>0]|0)){f=k[h+8>>2]|0;if(!f)e=-1;else{e=f;while(1)if(!(i[e>>0]|0))break;else e=e+1|0;e=(e-f&1073741823)+-1|0}f=f+e|0;e=i[f>>0]|0;if(p)d=n;else{d=e<<24>>24==64?0:n;e=i[9328+(e&255)>>0]|0}i[f>>0]=(e&255)+1;g=d}else g=n;d=M<<16>>16==0?13752:11152;e=cr(Q,83,Cv(Q,Rr(S,o,0,0)|0,d)|0,s,0)|0;if(e){M=e+4|0;k[M>>2]=k[M>>2]|k[N>>2]&1;j[e+36>>1]=j[R+36>>1]|0}f=Ev(a,e,259)|0;Ju(a,f);d=cr(Q,82,Cv(Q,Rr(S,o,0,0)|0,d)|0,h,0)|0;if(d){M=d+4|0;k[M>>2]=k[M>>2]|k[N>>2]&1;j[d+36>>1]=j[R+36>>1]|0}d=Ev(a,d,259)|0;Ju(a,d);e=k[T>>2]|0;c=e+(b*48|0)|0;if(!g){G=217;break k}k[e+(f*48|0)+4>>2]=b;N=e+(b*48|0)+16|0;j[e+(f*48|0)+16>>1]=j[N>>1]|0;G=e+(b*48|0)+22|0;i[G>>0]=(i[G>>0]|0)+1<<24>>24;k[e+(d*48|0)+4>>2]=b;j[e+(d*48|0)+16>>1]=j[N>>1]|0;i[G>>0]=(i[G>>0]|0)+1<<24>>24;G=217;break k}}while(0);Rh(d);G=217}else G=217}else G=217}}else G=217;while(0);if((G|0)==217)if(((((i[R>>0]|0)==-103?(id(k[R+8>>2]|0,31416)|0)==0:0)?(U=k[R+20>>2]|0,(k[U>>2]|0)==2):0)?(V=k[U+4>>2]|0,W=k[V+20>>2]|0,(i[W>>0]|0)==-102):0)?(X=k[V>>2]|0,Y=Fv(_,X)|0,Z=L,_=Fv(_,W)|0,(_&Y|0)==0&(L&Z|0)==0):0){_=Ev(a,cr(Q,51,0,Rr(S,X,0,0)|0,0)|0,3)|0;c=k[T>>2]|0;X=c+(_*48|0)+32|0;k[X>>2]=Y;k[X+4>>2]=Z;k[c+(_*48|0)+8>>2]=k[W+28>>2];k[c+(_*48|0)+12>>2]=j[W+32>>1];j[c+(_*48|0)+18>>1]=64;k[c+(_*48|0)+4>>2]=b;j[c+(_*48|0)+16>>1]=j[c+(b*48|0)+16>>1]|0;Y=c+(b*48|0)+22|0;i[Y>>0]=(i[Y>>0]|0)+1<<24>>24;Y=c+(b*48|0)+20|0;j[Y>>1]=m[Y>>1]|8;Y=c+(b*48|0)+40|0;Z=k[Y+4>>2]|0;_=c+(_*48|0)+40|0;k[_>>2]=k[Y>>2];k[_+4>>2]=Z;c=c+(b*48|0)|0}b=c+32|0;Z=b;_=k[Z+4>>2]|P;k[b>>2]=k[Z>>2]|O;k[b+4>>2]=_}while(0);return}function Ku(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=r;r=r+112|0;if((r|0)>=(s|0))ka();h=i;f=Iv(h,a,b,c,f,g)|0;a:do if(!f)f=0;else{g=f;f=0;do{b=g+32|0;c=k[b>>2]|0;b=k[b+4>>2]|0;if((c&d|0)==0&(b&e|0)==0){if((c|0)==0&(b|0)==0?(j[g+18>>1]&2)!=0:0){f=g;break a}f=(f|0)==0?g:f}g=Jv(h)|0}while((g|0)!=0)}while(0);r=i;return f|0}function Lu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,q=0,u=0,v=0,w=0.0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ha=0,ja=0,la=0,ma=0;la=r;r=r+16|0;if((r|0)>=(s|0))ka();fa=la;v=k[a>>2]|0;da=k[v>>2]|0;ha=k[da>>2]|0;ca=k[a+4>>2]|0;ea=k[a+12>>2]|0;u=l[ea+16>>0]|0;v=k[v+4>>2]|0;aa=k[v+(u*72|0)+24>>2]|0;x=k[a+8>>2]|0;ba=ca+20|0;ca=ca+12|0;d=k[ca>>2]|0;if((d|0)>0){f=k[v+(u*72|0)+48>>2]|0;g=0;e=0;h=k[ba>>2]|0;while(1){if((k[h+8>>2]|0)==(f|0))e=((j[h+18>>1]&-1153)<<16>>16!=0&1)+e|0;g=g+1|0;if((g|0)==(d|0))break;else h=h+48|0}}else e=0;if(!x)q=0;else{n=k[x>>2]|0;a:do if((n|0)>0){h=k[x+4>>2]|0;g=v+(u*72|0)+48|0;m=0;while(1){f=k[h+(m*20|0)>>2]|0;if((i[f>>0]|0)!=-102){d=m;break a}d=m+1|0;if((k[f+28>>2]|0)!=(k[g>>2]|0)){d=m;break a}if((d|0)<(n|0))m=d;else break}}else d=0;while(0);q=(d|0)==(n|0)?n:0}d=(e*20|0)+56+(q<<3)|0;$=rh(ha,d,0)|0;do if(!$){yh(da,15776,fa);d=7}else{kw($|0,0,d|0)|0;d=$+56|0;o=d+(e*12|0)|0;k[$>>2]=e;Y=$+8|0;k[Y>>2]=q;Z=$+4|0;k[Z>>2]=d;k[$+12>>2]=o;_=$+16|0;k[_>>2]=o+(q<<3);f=k[ca>>2]|0;if((f|0)>0){m=k[v+(u*72|0)+48>>2]|0;h=0;n=0;g=k[ba>>2]|0;while(1){if((k[g+8>>2]|0)==(m|0)?(y=j[g+18>>1]|0,(y&-1153)<<16>>16!=0):0){k[d+(n*12|0)>>2]=k[g+12>>2];k[d+(n*12|0)+8>>2]=h;i[d+(n*12|0)+4>>0]=(y&255)==1?2:y&255;n=n+1|0}h=h+1|0;if((h|0)==(f|0))break;else g=g+48|0}}if((q|0)>0){d=k[x+4>>2]|0;e=0;do{k[o+(e<<3)>>2]=j[(k[d+(e*20|0)>>2]|0)+32>>1];i[o+(e<<3)+4>>0]=i[d+(e*20|0)+12>>0]|0;e=e+1|0}while((e|0)!=(q|0))}A=ea;k[A>>2]=0;k[A+4>>2]=0;A=ea+18|0;j[A>>1]=0;k[ea+36>>2]=1024;B=ea+40|0;j[B>>1]=0;C=ea+28|0;i[C>>0]=0;D=k[_>>2]|0;E=k[$>>2]|0;if(Su(ha,ea,E)|0){rg(ha,$);d=7;break}U=$+28|0;X=$+24|0;F=$+20|0;G=$+32|0;H=$+40|0;I=$+48|0;J=aa+60|0;K=da+64|0;M=(E|0)>0;N=ea+30|0;O=ea+24|0;P=ea+32|0;Q=ea+29|0;R=ea+20|0;S=ea+22|0;T=ea+48|0;v=0;y=0;x=0;b:while(1){if(!((y|0)!=0|(v&1|0)==0))if((v|0)>2){d=0;break}else z=v+1|0;else z=v;if((x|0)==0&(z|0)>1){d=0;break}h=k[$>>2]|0;if((h|0)>0){e=k[ba>>2]|0;f=0;g=k[Z>>2]|0;while(1){v=k[g+8>>2]|0;if((z|0)==2)i[g+5>>0]=j[e+(v*48|0)+18>>1]&1^1;else if((z|0)==1){u=e+(v*48|0)+32|0;i[g+5>>0]=(k[u>>2]|0)==0&(k[u+4>>2]|0)==0&1}else if(!z){d=g+5|0;i[d>>0]=0;u=(j[e+(v*48|0)+18>>1]&1)==0;y=u?y:1;v=e+(v*48|0)+32|0;v=(k[v>>2]|0)!=0|(k[v+4>>2]|0)!=0;if(v|u^1)x=v?1:x;else i[d>>0]=1}else i[g+5>>0]=1;f=f+1|0;if((f|0)>=(h|0)){u=y;break}else g=g+12|0}}else u=y;kw(D|0,0,h<<3|0)|0;if(k[U>>2]|0)$c(k[X>>2]|0);k[F+0>>2]=0;k[F+4>>2]=0;k[F+8>>2]=0;k[F+12>>2]=0;p[H>>3]=5.e+98;d=I;k[d>>2]=25;k[d+4>>2]=0;d=k[da>>2]|0;v=J;while(1){v=k[v>>2]|0;if((k[v>>2]|0)==(d|0))break;else v=v+24|0}y=k[v+8>>2]|0;v=wc[k[(k[y>>2]|0)+12>>2]&127](y,$)|0;do if((v|0)==7)i[(k[da>>2]|0)+65>>0]=1;else if(v){d=k[y+8>>2]|0;if(d){k[fa>>2]=d;yh(da,10344,fa);break}if((v|0)!=516){v=v&255;if(v>>>0>26|(v|0)==2)v=16328;else v=k[15488+(v<<2)>>2]|0}else v=16344;k[fa>>2]=v;yh(da,10344,fa)}while(0);v=y+8|0;$c(k[v>>2]|0);k[v>>2]=0;v=k[$>>2]|0;if((v|0)>0){d=0;do{if((i[(k[Z>>2]|0)+(d*12|0)+5>>0]|0)==0?(k[(k[_>>2]|0)+(d<<3)>>2]|0)>0:0){k[fa>>2]=k[aa>>2];yh(da,34096,fa);v=k[$>>2]|0}d=d+1|0}while((d|0)<(v|0))}d=k[K>>2]|0;if(d)break;y=k[Z>>2]|0;q=ea;k[q>>2]=b;k[q+4>>2]=c;c:do if(M){v=0;do{k[(k[T>>2]|0)+(v<<2)>>2]=0;v=v+1|0}while((v|0)!=(E|0));j[N>>1]=0;if(M){f=b;e=c;d=0;q=0;v=-1;while(1){h=k[D+(q<<3)>>2]|0;m=h+-1|0;do if((h|0)>0){n=k[y+8>>2]|0;if((h|0)>(E|0)|(n|0)<0){ja=65;break b}if((n|0)>=(k[ca>>2]|0)){ja=65;break b}g=(k[T>>2]|0)+(m<<2)|0;if(k[g>>2]|0){ja=65;break b}o=k[ba>>2]|0;ma=o+(n*48|0)+32|0;f=f|k[ma>>2];e=e|k[ma+4>>2];ma=ea;k[ma>>2]=f;k[ma+4>>2]=e;k[g>>2]=o+(n*48|0);v=(m|0)>(v|0)?m:v;do if((h|0)<17){if(!(i[D+(q<<3)+4>>0]|0))break;d=(d&65535|1<<m)&65535;j[N>>1]=d}while(0);if(!(j[o+(n*48|0)+18>>1]&1))break;if(!(i[D+(q<<3)+4>>0]|0))break c;k[G>>2]=0}while(0);q=q+1|0;if((q|0)>=(E|0)){ja=73;break}else y=y+12|0}}else{v=-1;ja=73}}else{j[N>>1]=0;v=-1;ja=73}while(0);if((ja|0)==73){ja=0;j[B>>1]=v+1;k[O>>2]=k[F>>2];i[C>>0]=k[U>>2];k[U>>2]=0;k[P>>2]=k[X>>2];if(!(k[G>>2]|0))v=0;else v=k[Y>>2]&255;i[Q>>0]=v;j[A>>1]=0;w=+p[H>>3];p[t>>3]=w;v=k[t>>2]|0;d=k[t+4>>2]|0;do if(!(w<=1.0))if(!(w<=2.0e9)){v=rw(v|0,d|0,52)|0;v=ow(v|0,L|0,64514,0)|0;v=(v<<16>>16)*10&65535;break}else{v=ks(~~w>>>0,+W(w)>=1.0?(w>0.0?~~+ia(+V(w/4294967296.0),4294967295.0)>>>0:~~+ga((w-+(~~w>>>0))/4294967296.0)>>>0):0)|0;break}else v=0;while(0);j[R>>1]=v;q=I;q=ks(k[q>>2]|0,k[q+4>>2]|0)|0;j[S>>1]=q;Kv(a,ea)|0;if(i[C>>0]|0){$c(k[P>>2]|0);i[C>>0]=0}}v=z+1|0;if((v|0)>=4){d=0;break}else y=u}if((ja|0)==65){k[fa>>2]=k[aa>>2];yh(da,34064,fa);d=1}if(k[U>>2]|0)$c(k[X>>2]|0);rg(ha,$)}while(0);r=la;return d|0}function Mu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;ca=r;r=r+64|0;if((r|0)>=(s|0))ka();n=ca;h=ca+56|0;g=ca+52|0;j[g>>1]=-1;$=k[a+12>>2]|0;aa=k[a>>2]|0;F=k[aa+4>>2]|0;G=l[$+16>>0]|0;W=F+(G*72|0)+8|0;f=F+(G*72|0)+24|0;H=k[f>>2]|0;X=k[a+4>>2]|0;Y=F+(G*72|0)+76|0;d=k[Y>>2]|0;do if(!d){if(i[H+44>>0]&32){n=k[H+8>>2]|0;break}d=n+0|0;e=d+52|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));j[n+46>>1]=1;j[n+48>>1]=1;k[n+4>>2]=g;k[n+8>>2]=h;i[n+50>>0]=5;k[n+12>>2]=H;j[n+44>>1]=j[H+42>>1]|0;j[h>>1]=j[H+28>>1]|0;j[h+2>>1]=0;if(!(i[F+(G*72|0)+45>>0]&1))k[n+20>>2]=k[(k[f>>2]|0)+8>>2]}else n=d;while(0);h=j[H+28>>1]|0;if(h<<16>>16<11)B=0;else{B=h<<16>>16;B=((ks(B,((B|0)<0)<<31>>31)|0)&65535)+65503&65535}if(((((((k[a+16>>2]|0)==0?(j[aa+34>>1]&128)==0:0)?(k[(k[k[aa>>2]>>2]|0)+24>>2]&1048576|0)!=0:0)?(k[Y>>2]|0)==0:0)?(o=i[F+(G*72|0)+45>>0]|0,(o&5)==0):0)?(E=H+44|0,(o&10|i[E>>0]&32)<<24>>24==0):0)?(C=k[X+20>>2]|0,V=k[X+12>>2]|0,D=C+(V*48|0)|0,(V|0)>0):0){v=$+8|0;w=$+24|0;x=$+42|0;y=$+28|0;z=$+40|0;A=$+48|0;p=(B&65535)+(h&65535)|0;g=p+4&65535;f=$+18|0;e=H+12|0;p=p+28&65535;q=$+22|0;t=$+20|0;u=$+36|0;h=C;do{o=h+32|0;V=o;U=v;if(((k[U>>2]&k[V>>2]|0)==0?(k[U+4>>2]&k[V+4>>2]|0)==0:0)?(Ru(h,W,0,0)|0)!=0:0){j[w>>1]=1;j[x>>1]=0;k[y>>2]=0;j[z>>1]=1;k[k[A>>2]>>2]=h;j[f>>1]=g;if((k[e>>2]|0)==0?(i[E>>0]&2)==0:0)j[f>>1]=p;j[q>>1]=43;U=Lv(B,43)|0;j[t>>1]=U;k[u>>2]=16384;U=o;V=k[U+4>>2]|c;d=$;k[d>>2]=k[U>>2]|b;k[d+4>>2]=V;d=Kv(a,$)|0}else d=0;h=h+48|0}while((d|0)==0&h>>>0<D>>>0)}else d=0;V=$+36|0;a:do if((d|0)==0&(n|0)!=0){M=$+24|0;N=$+42|0;O=$+40|0;P=$+17|0;Q=$+18|0;R=$+22|0;S=$+28|0;T=F+(G*72|0)+48|0;U=$+20|0;J=F+(G*72|0)+64|0;K=H+42|0;t=H+44|0;q=aa+34|0;p=X+12|0;F=X+20|0;I=1;while(1){u=k[n+36>>2]|0;v=k[T>>2]|0;b:do if(u){d=k[p>>2]|0;if((d|0)>0){f=0;g=k[F>>2]|0;while(1){e=k[g>>2]|0;if(Mv(e,u,v)|0){if(!(k[e+4>>2]&1)){ba=32;break b}if((j[e+36>>1]|0)==(v|0)){ba=32;break b}}f=f+1|0;if((f|0)>=(d|0)){d=0;break}else g=g+48|0}}else d=0}else ba=32;while(0);if((ba|0)==32){ba=0;G=j[k[n+8>>2]>>1]|0;j[M>>1]=0;j[N>>1]=0;j[O>>1]=0;i[P>>0]=0;j[Q>>1]=0;H=$;k[H>>2]=b;k[H+4>>2]=c;j[R>>1]=G;k[S>>2]=n;H=n+51|0;w=i[H>>0]|0;c:do if(((w&4)==0?(Z=k[(k[a>>2]|0)+8>>2]|0,(Z|0)!=0):0)?(_=k[Z>>2]|0,(_|0)>0):0){E=k[Z+4>>2]|0;D=n+46|0;y=n+4|0;x=0;while(1){B=k[E+(x*20|0)>>2]|0;d:do if(!B)B=0;else while(1){A=k[B+4>>2]|0;if(!(A&4096))break d;if(!(A&262144))B=B+12|0;else B=k[(k[B+20>>2]|0)+4>>2]|0;B=k[B>>2]|0;if(!B){B=0;break}}while(0);if((i[B>>0]|0)!=-102){x=0;break c}if((k[B+28>>2]|0)==(v|0)){A=j[B+32>>1]|0;if(A<<16>>16<0){x=1;break c}B=j[D>>1]|0;if(B<<16>>16){z=k[y>>2]|0;B=B&65535;C=0;do{if(A<<16>>16==(j[z+(C<<1)>>1]|0)){x=1;break c}C=C+1|0}while((C|0)<(B|0))}}x=x+1|0;if((x|0)>=(_|0)){x=0;break}}}else x=0;while(0);do if((k[n+40>>2]|0)<1){k[V>>2]=256;i[P>>0]=(x|0)!=0?I&255:0;j[U>>1]=(G&65535)+16;Nv(X,$,G);d=Kv(a,$)|0;j[R>>1]=G;if(d)break a}else{if(!(w&32)){D=J;E=k[D>>2]|0;D=k[D+4>>2]|0;C=n+4|0;B=0;A=0;z=m[n+48>>1]|0;e:while(1){y=z;while(1){z=y+-1|0;if((y|0)<=0)break e;y=j[(k[C>>2]|0)+(z<<1)>>1]|0;if((y&65535)<63)break;else y=z}o=nw(1,0,y<<16>>16|0)|0;B=o|B;A=L|A}o=E&~B;u=D&~A;B=o;A=u;u=(o|0)==0&(u|0)==0?576:512}else{B=0;A=0;u=576}k[V>>2]=u;o=(x|0)!=0;if(!o?(i[t>>0]&32)==0:0){if(!((B|0)==0&(A|0)==0))break;if(i[H>>0]&4)break;if((j[n+44>>1]|0)>=(j[K>>1]|0))break;if(!((j[q>>1]&4)==0&(k[2190]|0)!=0))break;if(j[(k[k[aa>>2]>>2]|0)+60>>1]&64)break}i[P>>0]=o?I&255:0;h=G<<16>>16;o=h+1+(((j[n+44>>1]|0)*15|0)/(j[K>>1]|0)|0)&65535;if(!((B|0)==0&(A|0)==0))o=Lv(o,h+16&65535)|0;j[U>>1]=o;Nv(X,$,G);d=Kv(a,$)|0;j[R>>1]=G;if(d)break a}while(0);d=Ov(a,W,n,0)|0;if(k[Y>>2]|0)break a}n=k[n+20>>2]|0;if(!((d|0)==0&(n|0)!=0))break;else I=I+1|0}}while(0);r=ca;return d|0}function Nu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0;$=r;r=r+608|0;if((r|0)>=(s|0))ka();Z=$+168|0;X=$+576|0;Y=$+112|0;V=$+56|0;W=$;d=k[a>>2]|0;S=k[a+4>>2]|0;h=k[S+20>>2]|0;g=k[S+12>>2]|0;U=h+(g*48|0)|0;R=k[a+12>>2]|0;e=Y+0|0;f=e+56|0;do{k[e>>2]=0;e=e+4|0}while((e|0)<(f|0));f=k[d+4>>2]|0;e=l[R+16>>0]|0;Q=k[f+(e*72|0)+48>>2]|0;a:do if((g|0)>0){A=R+8|0;B=X+8|0;C=X+16|0;D=R+40|0;E=R+48|0;F=R+36|0;G=R+18|0;H=R+17|0;I=R+24|0;J=R+20|0;K=R+22|0;L=Z+4|0;M=Z+8|0;N=Z+12|0;O=Z+20|0;P=X+4|0;w=f+(e*72|0)+24|0;x=W+8|0;y=Y+8|0;z=V+8|0;while(1){b:do if((j[h+18>>1]&256)!=0?(T=k[h+12>>2]|0,t=T+408|0,q=A,!((k[q>>2]&k[t>>2]|0)==0?(k[q+4>>2]&k[t+4>>2]|0)==0:0)):0){g=T+20|0;v=(k[g>>2]|0)+((k[T+12>>2]|0)*48|0)|0;k[X+0>>2]=k[a+0>>2];k[X+4>>2]=k[a+4>>2];k[X+8>>2]=k[a+8>>2];k[X+12>>2]=k[a+12>>2];k[B>>2]=0;k[C>>2]=V;g=k[g>>2]|0;c:do if(g>>>0<v>>>0){e=1;d=0;d:while(1){if(!(j[g+18>>1]&512))if((k[g+8>>2]|0)==(Q|0)){k[Z>>2]=k[S>>2];k[L>>2]=S;i[M>>0]=72;k[N>>2]=1;k[O>>2]=g;f=Z;_=10}else f=e;else{f=k[g+12>>2]|0;_=10}do if((_|0)==10){_=0;k[P>>2]=f;j[V>>1]=0;if(!(i[(k[w>>2]|0)+44>>0]&16))d=Mu(X,b,c)|0;else d=Lu(X,b,c)|0;if(!d)d=Nu(X,b,c)|0;f=j[V>>1]|0;if(!(f<<16>>16))break d;if(e){j[Y>>1]=f;pw(y|0,z|0,(f&65535)<<4|0)|0;f=0;break}t=j[Y>>1]|0;j[W>>1]=t;u=t&65535;pw(x|0,y|0,u<<4|0)|0;j[Y>>1]=0;if(!(t<<16>>16))f=0;else{t=0;do{if(!(f<<16>>16))f=0;else{n=W+(t<<4)+8|0;e=k[n>>2]|0;n=k[n+4>>2]|0;o=j[W+(t<<4)+16>>1]|0;p=j[W+(t<<4)+18>>1]|0;q=0;do{aa=V+(q<<4)+8|0;ba=k[aa>>2]|e;aa=k[aa+4>>2]|n;f=Lv(o,j[V+(q<<4)+16>>1]|0)|0;Pv(Y,ba,aa,f,Lv(p,j[V+(q<<4)+18>>1]|0)|0);q=q+1|0;f=j[V>>1]|0}while((q|0)<(f&65535|0))}t=t+1|0}while((t|0)<(u|0));f=0}}while(0);g=g+48|0;if(g>>>0>=v>>>0)break c;else e=f}j[Y>>1]=0}else d=0;while(0);j[D>>1]=1;k[k[E>>2]>>2]=h;k[F>>2]=8192;j[G>>1]=0;i[H>>0]=0;k[I+0>>2]=0;k[I+4>>2]=0;k[I+8>>2]=0;if(d)break a;g=m[Y>>1]|0;f=0;while(1){if((f|0)>=(g|0))break b;j[J>>1]=(m[Y+(f<<4)+16>>1]|0)+1;j[K>>1]=j[Y+(f<<4)+18>>1]|0;q=Y+(f<<4)+8|0;t=k[q+4>>2]|0;d=R;k[d>>2]=k[q>>2];k[d+4>>2]=t;d=Kv(a,R)|0;if(!d)f=f+1|0;else break a}}while(0);h=h+48|0;if(h>>>0>=U>>>0){d=0;break}}}else d=0;while(0);r=$;return d|0}function Ou(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=b+48|0;d=k[c>>2]|0;e=b+56|0;if((d|0)!=(e|0))rg(a,d);Qv(a,b);k[c>>2]=e;j[b+40>>1]=0;j[b+44>>1]=3;k[b+36>>2]=0;return}function Pu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ia=0,ja=0,la=0;la=r;r=r+32|0;if((r|0)>=(s|0))ka();aa=la+24|0;Z=la+16|0;da=la+8|0;ja=la;$=k[a>>2]|0;fa=k[$>>2]|0;l=i[a+41>>0]|0;ga=l&255;if((l&255)<2)V=1;else V=l<<24>>24==2?5:10;ia=a+8|0;f=k[ia>>2]|0;ba=b<<16>>16==0;if((f|0)==0|ba)U=0;else U=k[f>>2]|0;g=U<<1;ea=g+(ha((ga<<3)+64|0,V)|0)|0;ea=rh(fa,ea,((ea|0)<0)<<31>>31)|0;do if(ea){f=ea+(V<<5)|0;k[f+0>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;k[f+16>>2]=0;k[f+20>>2]=0;k[f+24>>2]=0;k[f+28>>2]=0;c=V<<1;h=ha(V,-2)|0;h=ea+((ha((((h|0)>-1?h:1073741823)+(V<<1)<<2)+4|0,ga)|0)+(V<<6))|0;e=c;d=ea;c=ea+(c<<5)|0;while(1){k[d+24>>2]=c;e=e+-1|0;if((e|0)<=0)break;else{d=d+32|0;c=c+(ga<<2)|0}}e=(U|0)!=0;if(e)kw(h|0,0,g|0)|0;else h=0;T=k[$+424>>2]|0;j[ea+(V<<5)+16>>1]=T>>>0<48?T&65535:48;if(e)i[ea+(V<<5)+22>>0]=l<<24>>24!=0?-1:U&255;T=l<<24>>24==0;if(!T){P=a+16|0;Q=a+34|0;R=b<<16>>16<11;S=(b&65535)+16|0;M=b<<16>>16;N=((M|0)<0)<<31>>31;O=V>>>0>1;c=ea;L=0;g=0;l=0;b=0;d=1;while(1){if((d|0)>0){G=L&65535;H=L<<2;I=c+18|0;J=c+16|0;K=0;e=0;F=f;while(1){n=k[P>>2]|0;if(n){A=F+22|0;B=F+16|0;C=F+20|0;D=F+24|0;E=F+8|0;z=e;while(1){p=i[A>>0]|0;q=Z;k[q>>2]=0;k[q+4>>2]=0;q=n;e=F;o=k[e>>2]|0;e=k[e+4>>2]|0;a:do if(((k[q>>2]&~o|0)==0?(k[q+4>>2]&~e|0)==0:0)?(W=n+8|0,Y=W,X=k[Y>>2]|0,Y=k[Y+4>>2]|0,(X&o|0)==0&(Y&e|0)==0):0){v=m[B>>1]|0;x=Lv(j[n+18>>1]|0,v+(m[n+20>>1]|0)&65535)|0;x=Lv(x,j[C>>1]|0)|0;v=(m[n+22>>1]|0)+v|0;y=v&65535;u=X|o;q=Y|e;if(p<<24>>24<0)w=Rv(a,k[ia>>2]|0,F,j[Q>>1]|0,G,n,Z)|0;else{e=E;o=k[e+4>>2]|0;w=Z;k[w>>2]=k[e>>2];k[w+4>>2]=o;w=p}p=w<<24>>24;if(w<<24>>24>-1&(U|0)>(p|0)){t=h+(p<<1)|0;o=j[t>>1]|0;if(!(o<<16>>16)){p=((U-p|0)*100|0)/(U|0)|0;p=(ks(p,((p|0)<0)<<31>>31)|0)&65535;if(R)e=0;else e=((ks(M,N)|0)&65535)+65503&65535;p=S+(((p<<16)+-4325376|0)>>>16)+e|0;if(j[Q>>1]&1024)p=(p&65535)+16|0;o=p&65535;j[t>>1]=o}t=Lv(x,o)|0}else t=x;b:do if((z|0)>0){p=0;o=c;while(1){e=o;if(((k[e>>2]|0)==(u|0)?(k[e+4>>2]|0)==(q|0):0)?(i[o+22>>0]^w)<<24>>24>-1:0)break;p=p+1|0;if((p|0)>=(z|0)){_=35;break b}else o=o+32|0}e=j[o+18>>1]|0;if(e<<16>>16<t<<16>>16){e=z;break a}if(e<<16>>16!=t<<16>>16){e=z;break}if((j[o+16>>1]|0)>(v<<16>>16|0))e=z;else{e=z;break a}}else _=35;while(0);if((_|0)==35){_=0;o=(z|0)<(V|0);if(!o){if(t<<16>>16>g<<16>>16){e=z;break}if(!(t<<16>>16!=g<<16>>16?1:x<<16>>16<b<<16>>16)){e=z;break}}e=(o&1)+z|0;o=c+((o?z:l)<<5)|0}p=F;v=W;q=k[v+4>>2]|k[p+4>>2];u=o;k[u>>2]=k[v>>2]|k[p>>2];k[u+4>>2]=q;u=Z;q=k[u+4>>2]|0;p=o+8|0;k[p>>2]=k[u>>2];k[p+4>>2]=q;j[o+16>>1]=y;j[o+18>>1]=t;j[o+20>>1]=x;i[o+22>>0]=w;o=o+24|0;pw(k[o>>2]|0,k[D>>2]|0,H|0)|0;k[(k[o>>2]|0)+(L<<2)>>2]=n;if((e|0)<(V|0))break;g=j[I>>1]|0;b=j[J>>1]|0;if(O){q=c;t=1;p=g;l=0;o=b}else{l=0;break}while(1){g=j[q+50>>1]|0;do if(g<<16>>16<=p<<16>>16){if(g<<16>>16!=p<<16>>16){g=p;b=o;break}b=j[q+52>>1]|0;if(b<<16>>16>o<<16>>16)_=48;else{g=p;b=o}}else{b=j[q+52>>1]|0;_=48}while(0);q=q+32|0;if((_|0)==48){_=0;l=t}t=t+1|0;if((t|0)>=(V|0))break;else{p=g;o=b}}}else e=z;while(0);n=k[n+52>>2]|0;if(!n)break;else z=e}}K=K+1|0;if((K|0)==(d|0)){d=e;break}else F=F+32|0}}else d=0;L=L+1|0;if((L|0)>=(ga|0))break;else{K=c;c=f;f=K}}if(!d){yh($,34008,aa);rg(fa,ea);break}if((d|0)>1){e=1;f=c;do{if((j[f+18>>1]|0)>(j[c+(e<<5)+18>>1]|0))f=c+(e<<5)|0;e=e+1|0}while((e|0)!=(d|0))}else f=c;if(!T){d=a+4|0;e=k[f+24>>2]|0;c=0;do{_=k[e+(c<<2)>>2]|0;k[a+(c*80|0)+800>>2]=_;_=i[_+16>>0]|0;i[a+(c*80|0)+780>>0]=_;k[a+(c*80|0)+740>>2]=k[(k[d>>2]|0)+((_&255)*72|0)+48>>2];c=c+1|0}while((c|0)<(ga|0))}}d=a+34|0;if(((j[d>>1]&1536)==1024?(ca=a+40|0,!((i[ca>>0]|0)!=0|ba)):0)?(_=a+12|0,Z=ga+-1|0,Z=(Rv(a,k[_>>2]|0,f,512,Z&65535,k[(k[f+24>>2]|0)+(Z<<2)>>2]|0,da)|0)<<24>>24,(Z|0)==(k[k[_>>2]>>2]|0)):0)i[ca>>0]=2;e=k[ia>>2]|0;if(e){c=j[d>>1]|0;d=i[f+22>>0]|0;if(c&512){if((d<<24>>24|0)==(k[e>>2]|0))i[a+40>>0]=2}else{i[a+36>>0]=d<<24>>24<0?0:d;Y=f+8|0;Z=k[Y+4>>2]|0;_=a+24|0;k[_>>2]=k[Y>>2];k[_+4>>2]=Z}if(((c&2048)!=0?(i[a+36>>0]|0)==(k[e>>2]|0):0)?(_=ja,k[_>>2]=0,k[_+4>>2]=0,_=ga+-1|0,_=(Rv(a,e,f,0,_&65535,k[(k[f+24>>2]|0)+(_<<2)>>2]|0,ja)|0)<<24>>24,(_|0)==(k[k[ia>>2]>>2]|0)):0){i[a+37>>0]=1;Y=ja;Z=k[Y+4>>2]|0;_=a+24|0;k[_>>2]=k[Y>>2];k[_+4>>2]=Z}}j[a+32>>1]=j[f+16>>1]|0;rg(fa,ea)}while(0);r=la;return}function Qu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;if((b|0)!=0?(f=k[b>>2]|0,(f|0)>0):0){d=k[b+4>>2]|0;c=0;b=0;e=0;do{g=Fv(a,k[d+(e*20|0)>>2]|0)|0;c=g|c;b=L|b;e=e+1|0}while((e|0)<(f|0))}else{b=0;c=0}L=b;return c|0}function Ru(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;do if((((k[a+8>>2]|0)==(k[b+40>>2]|0)?(j[a+18>>1]&2)!=0:0)?(f=a+32|0,(k[f>>2]&c|0)==0?(k[f+4>>2]&d|0)==0:0):0)?(e=k[a+12>>2]|0,(e|0)>=0):0){c=i[(k[(k[b+16>>2]|0)+4>>2]|0)+(e*24|0)+21>>0]|0;d=(sv(k[a>>2]|0)|0)<<24>>24;if((d|0)==66){d=c<<24>>24==66&1;break}else if((d|0)==65){d=1;break}else{d=c<<24>>24>66&1;break}}else d=0;while(0);return d|0}function Su(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=b+44|0;if((m[g>>1]|0|0)<(c|0)){d=c+7&-8;e=rh(a,d<<2,0)|0;if(!e)c=7;else{f=b+48|0;pw(e|0,k[f>>2]|0,(m[g>>1]|0)<<2|0)|0;c=k[f>>2]|0;if((c|0)!=(b+56|0))rg(a,c);k[f>>2]=e;j[g>>1]=d;c=0}}else c=0;return c|0}function Tu(a,b,c){a=a|0;b=b|0;c=c|0;do if(!(k[b+4>>2]&256)){if((c|0)!=0?(k[c+4>>2]&256|0)!=0:0){b=hu(a,c)|0;break}b=hu(a,b)|0;if(!b)b=hu(a,c)|0}else b=hu(a,b)|0;while(0);return b|0}function Uu(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,m=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0,w=0,x=0,y=0;y=r;r=r+144|0;if((r|0)>=(s|0))ka();t=y;x=y+8|0;m=y+36|0;if(((i[a+450>>0]|0)==2?(o=l[c+44>>0]|0,w=k[a+8>>2]|0,h=k[a>>2]|0,v=k[a+464>>2]|0,q=k[c+64>>2]|0,u=q+36|0,p=k[u>>2]|0,(p&8192|0)==0):0)?(g=f&65535,(g&64|0)==0):0){f=p&48;do if(!f){if((p&1024|0)==0?(j[q+24>>1]|0)!=0:0){n=1;break}n=(g&3|0)!=0}else n=1;while(0);k[x+4>>2]=m;k[x+8>>2]=m;k[x+12>>2]=0;k[x+16>>2]=100;k[x+20>>2]=1e9;i[x+24>>0]=1;i[x+25>>0]=0;k[x>>2]=h;a=n?33576:33584;c=a;while(1)if(!(i[c>>0]|0))break;else c=c+1|0;Xk(x,a,c-a&1073741823);if(!(k[b+(o*72|0)+28>>2]|0)){k[t>>2]=k[b+(o*72|0)+16>>2];Jn(x,0,33608,t)}else{k[t>>2]=l[b+(o*72|0)+46>>0];Jn(x,0,33592,t)}a=k[b+(o*72|0)+20>>2]|0;if(a){k[t>>2]=a;Jn(x,0,33624,t)}do if(!(p&1280)){g=q+28|0;c=k[g>>2]|0;f=b+(o*72|0)+24|0;if((i[(k[f>>2]|0)+44>>0]&32)!=0?(i[c+51>>0]&3)==2:0)if(n)a=33632;else break;else if(!(p&131072))if(!(p&16384))a=(p&64|0)==0?33744:33720;else a=33688;else a=33648;Xk(x,33760,7);k[t>>2]=k[c>>2];Jn(x,0,a,t);p=j[q+24>>1]|0;n=k[(k[f>>2]|0)+4>>2]|0;m=k[(k[g>>2]|0)+4>>2]|0;c=p&65535;if(!(p<<16>>16)){if(!(k[u>>2]&48))break;Xk(x,33904,2);g=0}else{f=j[q+42>>1]|0;Xk(x,33904,2);f=f&65535;g=0;do{a=j[m+(g<<1)>>1]|0;if(a<<16>>16<0)a=20456;else a=k[n+((a<<16>>16)*24|0)>>2]|0;if((g|0)<(f|0)){if(g)Xk(x,33920,5);k[t>>2]=a;Jn(x,0,33928,t)}else Sv(x,g,a,33912);g=g+1|0}while((g|0)<(c|0));g=c>>>0>1?c:1}f=k[u>>2]|0;if(!(f&32))a=g;else{f=j[m+(g<<1)>>1]|0;if(f<<16>>16<0)f=20456;else f=k[n+((f<<16>>16)*24|0)>>2]|0;Sv(x,g,f,33936);f=k[u>>2]|0;a=g+1|0}if(f&16){g=j[m+(g<<1)>>1]|0;if(g<<16>>16<0)g=20456;else g=k[n+((g<<16>>16)*24|0)>>2]|0;Sv(x,a,g,33944)}Xk(x,33952,1)}else{if((p&256|0)==0|(p&15|0)==0){if(!(p&1024))break;p=k[q+32>>2]|0;k[t>>2]=k[q+24>>2];k[t+4>>2]=p;Jn(x,0,33872,t);break}if(!(p&5))if((f|0)==48)f=33784;else f=(p&32|0)==0?33824:33808;else f=33768;Xk(x,33840,27);g=f;while(1)if(!(i[g>>0]|0))break;else g=g+1|0;Xk(x,f,g-f&1073741823)}while(0);p=yg(x)|0;Ch(w,Bh(w,157,v,d,e)|0,p,-1)}r=y;return}function Vu(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0;l=k[b>>2]|0;n=k[a+8>>2]|0;g=i[l>>0]|0;do if(g<<24>>24==76)Bh(n,28,0,f,0)|0;else if(g<<24>>24==79)f=ns(a,k[l+16>>2]|0,f)|0;else{h=k[c+64>>2]|0;g=h+36|0;if(((k[g>>2]&1024|0)==0?(j=k[h+28>>2]|0,(j|0)!=0):0)?(i[(k[j+28>>2]|0)+d>>0]|0)!=0:0)e=(e|0)==0&1;m=rv(a,l,4,0)|0;if((m|0)==4)e=(e|0)==0&1;l=k[l+28>>2]|0;d=(e|0)!=0;Bh(n,d?105:108,l,0,0)|0;k[g>>2]=k[g>>2]|2048;j=c+56|0;g=k[j>>2]|0;if(!g){g=Cs(n)|0;k[c+16>>2]=g;g=k[j>>2]|0}h=g+1|0;k[j>>2]=h;g=c+60|0;h=$l(k[a>>2]|0,k[g>>2]|0,h*12|0,0)|0;k[g>>2]=h;if(!h){k[j>>2]=0;break}g=(k[j>>2]|0)+-1|0;k[h+(g*12|0)>>2]=l;if((m|0)==1)e=Bh(n,103,l,f,0)|0;else e=Bh(n,47,l,0,f)|0;k[h+(g*12|0)+4>>2]=e;i[h+(g*12|0)+8>>0]=d?6:7;Bh(n,76,f,0,0)|0}while(0);Wu(c,b);return f|0}function Wu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;a:do if(b){f=a+72|0;e=0;while(1){c=b+20|0;d=j[c>>1]|0;if(d&4)break a;if((k[a>>2]|0)!=0?(k[(k[b>>2]|0)+4>>2]&1|0)==0:0)break a;g=f;h=b+40|0;if(!((k[h>>2]&k[g>>2]|0)==0?(k[h+4>>2]&k[g+4>>2]|0)==0:0))break a;d=d&65535;j[c>>1]=d|((e|0)==0|(d&1024|0)==0?4:512);d=k[b+4>>2]|0;if((d|0)<0)break a;b=k[(k[b+24>>2]|0)+20>>2]|0;g=b+(d*48|0)+22|0;c=(i[g>>0]|0)+-1<<24>>24;i[g>>0]=c;if(c<<24>>24)break a;b=b+(d*48|0)|0;if(!b)break;else e=e+1|0}}while(0);return}function Xu(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0,m=0,n=0;do if(!(j[(k[a>>2]|0)+60>>1]&2)){h=a+116|0;g=0;e=h;while(1){f=e+12|0;if(!(k[f>>2]|0)){n=4;break}g=g+1|0;if((g|0)>=10){l=0;e=-1;m=2147483647;break}else e=e+20|0}if((n|0)==4){k[e+8>>2]=k[a+100>>2];k[e>>2]=b;j[e+4>>1]=c;k[f>>2]=d;i[e+6>>0]=0;d=a+104|0;b=k[d>>2]|0;k[d>>2]=b+1;k[e+16>>2]=b;break}while(1){g=k[h+16>>2]|0;f=(g|0)<(m|0);e=f?l:e;l=l+1|0;if((l|0)==10)break;else{m=f?g:m;h=h+20|0}}if((e|0)>-1){k[a+(e*20|0)+124>>2]=k[a+100>>2];k[a+(e*20|0)+116>>2]=b;j[a+(e*20|0)+120>>1]=c;k[a+(e*20|0)+128>>2]=d;i[a+(e*20|0)+122>>0]=0;d=a+104|0;b=k[d>>2]|0;k[d>>2]=b+1;k[a+(e*20|0)+132>>2]=b}}while(0);return}function Yu(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=k[a+8>>2]|0;m=k[b+64>>2]|0;n=j[m+24>>1]|0;p=j[m+42>>1]|0;t=k[m+28>>2]|0;q=a+72|0;l=k[q>>2]|0;f=l+1|0;s=n&65535;o=s+d|0;k[q>>2]=l+o;q=k[a>>2]|0;t=ph(q,tt(r,t)|0)|0;q=(t|0)!=0;if(!q)i[(k[a>>2]|0)+65>>0]=1;if(p<<16>>16){d=k[b+8>>2]|0;g=(c|0)!=0;Bh(r,g?105:108,d,0,0)|0;h=Bh(r,16,0,0,0)|0;l=p&65535;g=Bh(r,g?62:65,d,0,f)|0;Ch(r,g,l,-14);k[b+20>>2]=g;g=k[r+32>>2]|0;if(g>>>0>h>>>0)k[(k[r+4>>2]|0)+(h*20|0)+8>>2]=g;k[(k[r+24>>2]|0)+88>>2]=g+-1;h=0;do{Bh(r,47,d,h,h+f|0)|0;h=h+1|0}while((h|0)<(l|0))}if((p&65535)<(n&65535)){m=m+48|0;l=b+12|0;n=(o|0)==1;o=p&65535;h=f;while(1){g=k[(k[m>>2]|0)+(o<<2)>>2]|0;d=o+h|0;f=Vu(a,g,b,o,c,d)|0;do if((f|0)!=(d|0))if(n){ds(a,h);break}else{Bh(r,34,f,d,0)|0;f=h;break}else f=h;while(0);if(!(j[g+18>>1]&129)){d=k[(k[g>>2]|0)+16>>2]|0;if(Zu(d)|0)Bh(r,76,f+o|0,k[l>>2]|0,0)|0;if(q){g=t+o|0;if((Gu(d,i[g>>0]|0)|0)<<24>>24==65){i[g>>0]=65;h=65}else h=i[g>>0]|0;if(_u(d,h)|0)i[g>>0]=65}}o=o+1|0;if((o|0)>=(s|0))break;else h=f}}k[e>>2]=t;return f|0}function Zu(a){a=a|0;var b=0;b=i[a>>0]|0;if((b+99&255)<2)do{a=k[a+12>>2]|0;b=i[a>>0]|0}while((b+99&255)<2);if(b<<24>>24==-97)b=i[a+38>>0]|0;switch(b&255|0){case 134:case 133:case 97:case 132:{a=0;break}case 154:{if(!(k[a+4>>2]&1048576)){b=j[a+32>>1]|0;if(b<<16>>16>-1)a=(i[(k[(k[a+44>>2]|0)+4>>2]|0)+((b<<16>>16)*24|0)+20>>0]|0)==0;else a=0}else a=1;a=a&1;break}default:a=1}return a|0}function _u(a,b){a=a|0;b=b|0;var c=0;a:do if(b<<24>>24==65)a=1;else{c=i[a>>0]|0;if((c+99&255)<2)do{a=k[a+12>>2]|0;c=i[a>>0]|0}while((c+99&255)<2);if(c<<24>>24==-97)c=i[a+38>>0]|0;switch(c&255|0){case 133:{a=(b<<24>>24==69|b<<24>>24==67)&1;break a}case 134:{a=1;break a}case 132:{a=(b+-67&255)<2&1;break a}case 154:{if((j[a+32>>1]|0)<0)a=(b+-67&255)<2;else a=0;a=a&1;break a}case 97:{a=b<<24>>24==66&1;break a}default:{a=0;break a}}}while(0);return a|0}function $u(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;f=k[a+8>>2]|0;do if(d){a:do if((c|0)>0)while(1){if((i[d>>0]|0)!=65){e=d;break a}c=c+-1|0;b=b+1|0;d=d+1|0;if((c|0)<=0){e=d;break}}else e=d;while(0);while(1){if((c|0)<=1){g=8;break}d=c+-1|0;if((i[e+d>>0]|0)==65)c=d;else break}if((g|0)==8)if((c|0)<=0)break;Bh(f,48,b,c,0)|0;Ch(f,-1,e,c);it(a,b,c)}while(0);return}function av(a,b){a=a|0;b=b|0;var c=0,d=0;if(b){Tv(b+328|0);d=b+16|0;c=k[d>>2]|0;if(c)do{k[d>>2]=k[c+52>>2];Ou(a,c);rg(a,c);c=k[d>>2]|0}while((c|0)!=0);rg(a,b)}return}function bv(a,b){a=a|0;b=b|0;var c=0,d=0;c=r;r=r+32|0;if((r|0)>=(s|0))ka();d=c;k[d+0>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;k[d+16>>2]=0;k[d+20>>2]=0;k[d>>2]=80;k[d+4>>2]=81;k[d+24>>2]=a;ws(d,b)|0;r=c;return}function cv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;n=r;r=r+16|0;if((r|0)>=(s|0))ka();l=n+4|0;m=n;j=k[a+8>>2]|0;k[l>>2]=0;k[m>>2]=0;if(!((j|0)==0|(b|0)==0)){f=i[b>>0]|0;e=f&255;a:do switch(e|0){case 74:{dv(a,b,c,1,d);break}case 77:case 76:{Bh(j,e,eu(a,k[b+12>>2]|0,l)|0,c,0)|0;break}case 79:case 78:case 83:case 80:case 81:case 82:{f=b+12|0;h=eu(a,k[f>>2]|0,l)|0;g=b+16|0;j=eu(a,k[g>>2]|0,m)|0;fu(a,k[f>>2]|0,k[g>>2]|0,e,h,j,c,d);break}case 72:{h=Cs(j)|0;lt(a,k[b+12>>2]|0,h,d^16);e=a+100|0;k[e>>2]=(k[e>>2]|0)+1;cv(a,k[b+16>>2]|0,c,d);e=k[j+24>>2]|0;f=~h;if((h|0)<0?(g=k[e+112>>2]|0,(g|0)!=0):0)k[g+(f<<2)>>2]=k[j+32>>2];k[e+88>>2]=(k[j+32>>2]|0)+-1;gu(a);break}case 71:{cv(a,k[b+12>>2]|0,c,d);j=a+100|0;k[j>>2]=(k[j>>2]|0)+1;cv(a,k[b+16>>2]|0,c,d);gu(a);break}case 19:{lt(a,k[b+12>>2]|0,c,d);break}case 148:case 73:{d=b+12|0;h=eu(a,k[d>>2]|0,l)|0;g=b+16|0;j=eu(a,k[g>>2]|0,m)|0;fu(a,k[d>>2]|0,k[g>>2]|0,f<<24>>24==73?79:78,h,j,c,128);break}case 75:{g=Cs(j)|0;ku(a,b,g,(d|0)!=0?c:g);Bh(j,16,0,c,0)|0;f=k[j+24>>2]|0;e=~g;if((g|0)<0?(h=k[f+112>>2]|0,(h|0)!=0):0)k[h+(e<<2)>>2]=k[j+32>>2];k[f+88>>2]=(k[j+32>>2]|0)+-1;break}default:{if(ev(b)|0){Bh(j,16,0,c,0)|0;break a}if(!(ru(b)|0))Bh(j,45,eu(a,b,l)|0,c,(d|0)!=0&1)|0}}while(0);ds(a,k[l>>2]|0);ds(a,k[m>>2]|0)}r=n;return}function dv(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;n=r;r=r+208|0;if((r|0)>=(s|0))ka();h=n+152|0;f=n+104|0;g=n+56|0;j=n+8|0;l=n;k[l>>2]=0;m=j+0|0;o=(k[b+12>>2]|0)+0|0;p=m+48|0;do{k[m>>2]=k[o>>2];m=m+4|0;o=o+4|0}while((m|0)<(p|0));i[h>>0]=72;k[h+12>>2]=f;k[h+16>>2]=g;i[f>>0]=83;k[f+12>>2]=j;b=k[(k[b+20>>2]|0)+4>>2]|0;k[f+16>>2]=k[b>>2];i[g>>0]=81;k[g+12>>2]=j;k[g+16>>2]=k[b+20>>2];b=eu(a,j,l)|0;i[j+38>>0]=i[j>>0]|0;i[j>>0]=-97;k[j+28>>2]=b;b=j+4|0;k[b>>2]=k[b>>2]&-4097;if(!d)lt(a,h,c,e);else cv(a,h,c,e);ds(a,k[l>>2]|0);r=n;return}function ev(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;if((r|0)>=(s|0))ka();b=c;k[b>>2]=0;if((k[a+4>>2]&1|0)==0?(Rs(a,b)|0)!=0:0)a=(k[b>>2]|0)!=0&1;else a=0;r=c;return a|0}function fv(a,b){a=a|0;b=b|0;var c=0,d=0;a:do if(!((a|0)==0|(b|0)==0)){d=k[b>>2]|0;if((d|0)>0){b=k[b+4>>2]|0;c=0;while(1){if((Bv(a,k[b+(c*20|0)+4>>2]|0)|0)>-1){b=1;break a}c=c+1|0;if((c|0)>=(d|0)){b=0;break}}}else b=0}else b=1;while(0);return b|0}function gv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0;m=k[b+20>>2]|0;a:do if((m|0)>0){n=j[a+38>>1]|0;o=n<<16>>16>0;p=a+4|0;l=a+36|0;f=(d|0)!=0;g=0;while(1){d=k[b+(g<<3)+40>>2]|0;if(o){a=(d|0)==0;h=0;do{if(!((k[c+(h<<2)>>2]|0)<=-1?!((h|0)==(j[l>>1]|0)&f):0))q=7;do if((q|0)==7){q=0;e=k[p>>2]|0;if(a)if(!(i[e+(h*24|0)+23>>0]&1))break;else{a=1;break a}else if(!(id(k[e+(h*24|0)>>2]|0,d)|0)){a=1;break a}else break}while(0);h=h+1|0}while((h|0)<(n<<16>>16|0))}g=g+1|0;if((g|0)>=(m|0)){a=0;break}}}else a=0;while(0);return a|0}function hv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0;v=r;r=r+48|0;if((r|0)>=(s|0))ka();j=v;o=v+8|0;u=k[a+408>>2]|0;u=(u|0)==0?a:u;h=u+528|0;e=k[h>>2]|0;a:do if(!e)g=5;else while(1){if((k[e>>2]|0)==(b|0)?(k[e+12>>2]|0)==(d|0):0)break a;e=k[e+4>>2]|0;if(!e){g=5;break}}while(0);do if((g|0)==5){q=k[a>>2]|0;e=rh(q,24,0)|0;if(e){g=e+0|0;f=g+24|0;do{i[g>>0]=0;g=g+1|0}while((g|0)<(f|0));k[e+4>>2]=k[h>>2];k[h>>2]=e;p=rh(q,28,0)|0;if(!p){k[e+8>>2]=0;e=0;break}g=p+0|0;f=g+24|0;do{i[g>>0]=0;g=g+1|0}while((g|0)<(f|0));k[e+8>>2]=p;l=(k[u+8>>2]|0)+192|0;k[p+24>>2]=k[l>>2];k[l>>2]=p;k[e>>2]=b;k[e+12>>2]=d;l=e+16|0;k[l>>2]=-1;m=e+20|0;k[m>>2]=-1;n=rh(q,536,0)|0;if(n){kw(n|0,0,536)|0;k[o+0>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;k[o+12>>2]=0;k[o+16>>2]=0;k[o+20>>2]=0;k[o+24>>2]=0;k[o+28>>2]=0;k[o>>2]=n;k[n>>2]=q;k[n+412>>2]=c;k[n+408>>2]=u;k[n+492>>2]=k[b>>2];i[n+436>>0]=i[b+8>>0]|0;k[n+424>>2]=k[a+424>>2];c=Tq(n)|0;if(c){k[j>>2]=k[b>>2];Ch(c,-1,zh(q,34152,j)|0,-1);g=k[b+12>>2]|0;if(!g)h=0;else{f=Rr(q,g,0,0)|0;if((qs(o,f)|0)==0?(i[q+65>>0]|0)==0:0){g=Cs(c)|0;lt(n,f,g,16)}else g=0;Lk(q,f);h=g}Uv(n,k[b+28>>2]|0,d);if(h){g=k[c+24>>2]|0;f=~h;if((h|0)<0?(t=k[g+112>>2]|0,(t|0)!=0):0)k[t+(f<<2)>>2]=k[c+32>>2];k[g+88>>2]=(k[c+32>>2]|0)+-1}Bh(c,24,0,0,0)|0;f=a+64|0;g=k[n+4>>2]|0;if(!(k[f>>2]|0)){k[a+4>>2]=g;k[f>>2]=k[n+64>>2]}else rg(k[n>>2]|0,g);if(!(i[q+65>>0]|0)){j=c+4|0;o=k[j>>2]|0;On(c,u+392|0);k[p+4>>2]=k[c+32>>2];k[j>>2]=0;k[p>>2]=o}k[p+8>>2]=k[n+72>>2];k[p+12>>2]=k[n+68>>2];k[p+16>>2]=k[n+80>>2];k[p+20>>2]=b;k[l>>2]=k[n+428>>2];k[m>>2]=k[n+432>>2];Ul(c)}Hh(n);rg(q,n)}else e=0}else e=0}while(0);r=v;return e|0}function iv(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0;g=Tq(a)|0;c=hv(a,b,c,e)|0;if(c){if(!(k[b>>2]|0))e=0;else e=((k[(k[a>>2]|0)+24>>2]|0)>>>18&1^1)&255;a=a+72|0;b=(k[a>>2]|0)+1|0;k[a>>2]=b;Bh(g,131,d,f,b)|0;Ch(g,-1,k[c+8>>2]|0,-18);c=k[g+4>>2]|0;if(c)i[c+(((k[g+32>>2]|0)+-1|0)*20|0)+3>>0]=e}return}function jv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=r;r=r+16|0;if((r|0)>=(s|0))ka();h=i;e=k[a>>2]|0;g=k[(k[e+16>>2]|0)+(d<<4)>>2]|0;f=pc[k[e+284>>2]&7](k[e+288>>2]|0,20,b,c,g,k[a+492>>2]|0)|0;if((f|0)==1){if((d|0)!=0?1:(k[e+20>>2]|0)>2){k[h>>2]=g;k[h+4>>2]=b;k[h+8>>2]=c;yh(a,27688,h)}else{k[h>>2]=b;k[h+4>>2]=c;yh(a,27728,h)}k[a+12>>2]=23}else if(!((f|0)==0|(f|0)==2)){yh(a,25232,h);k[a+12>>2]=1}r=i;return f|0}function kv(a,b,c,d,e,f,g,h,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;y=Tq(a)|0;A=(k[a+68>>2]|0)+-1|0;B=Cs(y)|0;if((h|0)<0)Bh(y,135,l[e+24>>0]|0,B,0)|0;n=e+20|0;o=k[n>>2]|0;if((o|0)>0){q=g+1|0;p=0;do{Bh(y,76,q+(k[f+(p<<2)>>2]|0)|0,B,0)|0;p=p+1|0;o=k[n>>2]|0}while((p|0)<(o|0))}do if(!m){if(!d){o=a+19|0;n=i[o>>0]|0;if(!(n<<24>>24)){d=a+72|0;q=(k[d>>2]|0)+1|0;k[d>>2]=q}else{q=n+-1<<24>>24;i[o>>0]=q;q=k[a+((q&255)<<2)+24>>2]|0}Bh(y,34,g+1+(k[f>>2]|0)|0,q,0)|0;p=Bh(y,38,q,0,0)|0;if(((h|0)==1?(k[e>>2]|0)==(c|0):0)?(Bh(y,79,g,B,q)|0,r=k[y+4>>2]|0,(r|0)!=0):0)i[r+(((k[y+32>>2]|0)+-1|0)*20|0)+3>>0]=-112;Vq(a,A,b,c,54);Bh(y,70,A,0,q)|0;Bh(y,16,0,B,0)|0;n=k[y+32>>2]|0;if(n>>>0>1)k[(k[y+4>>2]|0)+((n+-2|0)*20|0)+8>>2]=n;m=n+-1|0;o=(k[y+24>>2]|0)+88|0;k[o>>2]=m;if(n>>>0>p>>>0)k[(k[y+4>>2]|0)+(p*20|0)+8>>2]=n;k[o>>2]=m;ds(a,q);break}w=a+60|0;q=k[w>>2]|0;x=a+56|0;p=k[x>>2]|0;if((p|0)<(o|0)){v=a+72|0;q=k[v>>2]|0;k[v>>2]=q+o;q=q+1|0}else{k[w>>2]=q+o;k[x>>2]=p-o}p=a+19|0;n=i[p>>0]|0;if(!(n<<24>>24)){m=a+72|0;v=(k[m>>2]|0)+1|0;k[m>>2]=v}else{v=n+-1<<24>>24;i[p>>0]=v;v=k[a+((v&255)<<2)+24>>2]|0}Bh(y,54,A,k[d+40>>2]|0,b)|0;m=k[a+8>>2]|0;Ch(m,-1,ms(a,d)|0,-6);m=(o|0)>0;if(m){p=g+1|0;n=0;do{Bh(y,33,p+(k[f+(n<<2)>>2]|0)|0,n+q|0,0)|0;n=n+1|0}while((n|0)!=(o|0))}if((h|0)==1?(k[e>>2]|0)==(c|0):0){t=y+32|0;u=o+1+(k[t>>2]|0)|0;if(m){b=g+1|0;s=d+4|0;p=c+36|0;n=y+4|0;r=0;do{m=j[(k[s>>2]|0)+(r<<1)>>1]|0;Bh(y,78,b+(k[f+(r<<2)>>2]|0)|0,u,(m<<16>>16==(j[p>>1]|0)?0:(m<<16>>16)+1|0)+g|0)|0;m=k[n>>2]|0;if(m)i[m+(((k[t>>2]|0)+-1|0)*20|0)+3>>0]=16;r=r+1|0}while((r|0)!=(o|0))}Bh(y,16,0,B,0)|0}g=tt(y,d)|0;Ch(y,Bh(y,49,q,o,v)|0,g,o);Ch(y,Bh(y,69,A,B,v)|0,0,-14);ds(a,v);it(a,q,o);if((k[x>>2]|0)<(o|0)){k[x>>2]=o;k[w>>2]=q}}while(0);n=i[e+24>>0]|0;m=n<<24>>24==0;if(((m?(k[(k[a>>2]|0)+24>>2]&16777216|0)==0:0)?(k[a+408>>2]|0)==0:0)?(i[a+20>>0]|0)==0:0)Es(a,787,2,0,-2,4);else{if(!((h|0)<1|m^1)){e=k[a+408>>2]|0;i[((e|0)==0?a:e)+21>>0]=1}Bh(y,134,n&255,h,0)|0}m=k[y+24>>2]|0;n=~B;if((B|0)<0?(z=k[m+112>>2]|0,(z|0)!=0):0)k[z+(n<<2)>>2]=k[y+32>>2];k[m+88>>2]=(k[y+32>>2]|0)+-1;Bh(y,61,A,0,0)|0;return}function lv(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var n=0,o=0,p=0,q=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=r;r=r+48|0;if((r|0)>=(s|0))ka();y=D+32|0;z=D;A=k[a>>2]|0;B=Tq(a)|0;if((h|0)<0)C=Bh(B,135,l[e+24>>0]|0,0,0)|0;else C=0;x=e+20|0;if((k[x>>2]|0)>0){w=(d|0)==0;v=(f|0)==0;u=e+36|0;t=d+4|0;q=0;n=0;do{if(w)p=-1;else p=j[(k[t>>2]|0)+(q<<1)>>1]|0;o=Vv(a,c,g,p)|0;if(v)p=u;else p=f+(q<<2)|0;n=xs(A,n,cr(a,79,o,yt(A,27,k[(k[(k[e>>2]|0)+4>>2]|0)+((k[p>>2]<<16>>16)*24|0)>>2]|0)|0,0)|0)|0;q=q+1|0}while((q|0)<(k[x>>2]|0));p=e}else{p=e;n=0}if((h|0)>0?(k[p>>2]|0)==(c|0):0){if(!(i[c+44>>0]&32)){f=k[a>>2]|0;k[y>>2]=0;k[y+4>>2]=0;f=sr(f,159,y,0)|0;if(!f)f=0;else{k[f+28>>2]=g;i[f+1>>0]=68}p=k[b+48>>2]|0;k[y>>2]=0;k[y+4>>2]=0;o=sr(A,154,y,0)|0;if(o){k[o+44>>2]=c;k[o+28>>2]=p;j[o+32>>1]=-1}f=cr(a,78,f,o,0)|0}else{p=c+8|0;while(1){p=k[p>>2]|0;if((i[p+51>>0]&3)==2)break;p=p+20|0}x=p+46|0;if(!(j[x>>1]|0))f=0;else{t=d+4|0;u=b+48|0;v=y+4|0;w=0;f=0;do{p=j[(k[t>>2]|0)+(w<<1)>>1]|0;o=Vv(a,c,g,p)|0;q=k[u>>2]|0;k[y>>2]=0;k[v>>2]=0;d=sr(A,154,y,0)|0;if(d){k[d+44>>2]=c;k[d+28>>2]=q;j[d+32>>1]=p}f=xs(A,f,cr(a,79,o,d,0)|0)|0;w=w+1|0}while((w|0)<(m[x>>1]|0))}f=cr(a,19,f,0,0)|0}n=xs(A,n,f)|0};k[z+0>>2]=0;k[z+4>>2]=0;k[z+8>>2]=0;k[z+12>>2]=0;k[z+16>>2]=0;k[z+20>>2]=0;k[z+24>>2]=0;k[z+28>>2]=0;k[z+4>>2]=b;k[z>>2]=a;qs(z,n)|0;f=_s(a,b,n,0,0,0,0)|0;Bh(B,134,l[e+24>>0]|0,h,0)|0;if(f)at(f);Lk(A,n);if(C){f=k[B+32>>2]|0;if(f>>>0>C>>>0)k[(k[B+4>>2]|0)+(C*20|0)+8>>2]=f;k[(k[B+24>>2]|0)+88>>2]=f+-1}r=D;return}function mv(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,t=0,u=0;u=r;r=r+32|0;if((r|0)>=(s|0))ka();p=u;n=u+16|0;t=u+28|0;g=k[a>>2]|0;q=Tq(a)|0;if(q){j=(k[g+16>>2]|0)+(b<<4)|0;l=a+388|0;m=(d|0)==0;o=0;a:while(1){h=k[28744+(o<<3)>>2]|0;f=di(g,h,k[j>>2]|0)|0;do if(!f){if(!o){k[p>>2]=k[j>>2];k[p+4>>2]=h;k[p+8>>2]=28768;Gr(a,28816,p);k[n>>2]=k[l>>2];i[t>>0]=4;o=o+1|0;continue a}}else{f=k[f+32>>2]|0;k[n+(o<<2)>>2]=f;i[t+o>>0]=0;ls(a,b,f,1,h);if(m){Bh(q,118,f,b,0)|0;break}else{k[p>>2]=k[j>>2];k[p+4>>2]=h;k[p+8>>2]=e;k[p+12>>2]=d;Gr(a,28840,p);break}}while(0);o=o+1|0;if((o|0)==3)break}Ch(q,Bh(q,55,c,k[n>>2]|0,b)|0,3,-14);f=k[q+4>>2]|0;if(f)i[f+(((k[q+32>>2]|0)+-1|0)*20|0)+3>>0]=i[t>>0]|0}r=u;return}function nv(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,l=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;D=k[a>>2]|0;E=e+1|0;F=e+2|0;J=e+3|0;K=e+4|0;L=e+5|0;I=e+6|0;G=e+7|0;H=a+72|0;M=k[H>>2]|0;k[H>>2]=(M|0)>(G|0)?M:G;M=Tq(a)|0;if((!((M|0)==0|(b|0)==0)?(p=b+32|0,(k[p>>2]|0)!=0):0)?(q=k[b>>2]|0,(Kc(q,25568,7)|0)!=0):0){l=k[b+68>>2]|0;a:do if(l){h=k[D+20>>2]|0;if((h|0)>0){g=k[D+16>>2]|0;o=0;while(1){n=o+1|0;if((k[g+(o<<4)+12>>2]|0)==(l|0)){n=o;break a}if((n|0)<(h|0))o=n;else break}}else n=0}else n=-1e6;while(0);if(!(Xq(a,28,q,0,k[(k[D+16>>2]|0)+(n<<4)>>2]|0)|0)){ls(a,n,k[p>>2]|0,0,k[b>>2]|0);w=f+1|0;C=f+2|0;q=a+68|0;B=k[q>>2]|0;k[q>>2]=(B|0)>(C|0)?B:C;Vq(a,f,n,b,54);q=k[b>>2]|0;Ch(M,Bh(M,97,0,K,0)|0,q,0);q=k[b+8>>2]|0;C=(c|0)==0;if(!q)l=1;else{x=b+44|0;y=a+8|0;z=M+4|0;A=M+32|0;B=M+24|0;l=1;do{do if(C|(q|0)==(c|0)){l=(k[q+36>>2]|0)==0?0:l;p=i[q+51>>0]|0;if(!((i[x>>0]&32)!=0&(p&3)==2)){g=m[q+48>>1]|0;o=k[q>>2]|0;h=q+46|0;if(!(p&8)){s=h;r=g;p=g}else{s=h;r=g;p=m[h>>1]|0}}else{s=q+46|0;p=m[s>>1]|0;r=p;o=k[b>>2]|0}u=p+-1|0;Ch(M,Bh(M,97,0,L,0)|0,o,0);v=k[H>>2]|0;p=u+G|0;k[H>>2]=(v|0)>(p|0)?v:p;Bh(M,54,w,k[q+40>>2]|0,n)|0;p=k[y>>2]|0;Ch(p,-1,ms(a,q)|0,-6);Bh(M,25,r,F,0)|0;Bh(M,25,m[s>>1]|0,J,0)|0;Bh(M,1,0,F,E)|0;Ch(M,-1,28552,-5);p=k[z>>2]|0;if(p)i[p+(((k[A>>2]|0)+-1|0)*20|0)+3>>0]=2;v=Bh(M,108,w,0,0)|0;Bh(M,25,0,F,0)|0;o=k[A>>2]|0;if((u|0)>0){r=Cs(M)|0;t=rh(D,u<<2,0)|0;if(!t)break;Bh(M,16,0,0,0)|0;o=k[A>>2]|0;if(((u|0)==1?(j[s>>1]|0)==1:0)?(i[q+50>>0]|0)!=0:0)Bh(M,77,G,r,0)|0;p=q+32|0;g=0;do{s=hr(a,k[(k[p>>2]|0)+(g<<2)>>2]|0)|0;Bh(M,25,g,F,0)|0;Bh(M,47,w,g,J)|0;h=Bh(M,78,J,0,g+G|0)|0;Ch(M,h,s,-4);k[t+(g<<2)>>2]=h;h=k[z>>2]|0;if(h)i[h+(((k[A>>2]|0)+-1|0)*20|0)+3>>0]=-128;g=g+1|0}while((g|0)!=(u|0));Bh(M,25,u,F,0)|0;Bh(M,16,0,r,0)|0;p=o+-1|0;h=k[A>>2]|0;if(h>>>0>p>>>0)k[(k[z>>2]|0)+(p*20|0)+8>>2]=h;k[(k[B>>2]|0)+88>>2]=h+-1;p=0;while(1){g=k[t+(p<<2)>>2]|0;if(h>>>0>g>>>0)k[(k[z>>2]|0)+(g*20|0)+8>>2]=h;k[(k[B>>2]|0)+88>>2]=h+-1;Bh(M,47,w,p,p+G|0)|0;p=p+1|0;if((p|0)==(u|0))break;h=k[A>>2]|0}h=k[B>>2]|0;g=~r;do if((r|0)<0){p=k[h+112>>2]|0;if(!p)break;k[p+(g<<2)>>2]=k[A>>2]}while(0);k[h+88>>2]=(k[A>>2]|0)+-1;rg(D,t)}Bh(M,1,1,E,J)|0;Ch(M,-1,28592,-5);p=k[z>>2]|0;if(p)i[p+(((k[A>>2]|0)+-1|0)*20|0)+3>>0]=2;Bh(M,9,w,o,0)|0;Bh(M,1,0,E,I)|0;Ch(M,-1,28640,-5);p=k[z>>2]|0;if(p)i[p+(((k[A>>2]|0)+-1|0)*20|0)+3>>0]=1;Ch(M,Bh(M,49,K,3,J)|0,28632,0);Bh(M,74,d,e,0)|0;Bh(M,75,d,J,e)|0;o=k[z>>2]|0;p=k[A>>2]|0;if(o)i[o+((p+-1|0)*20|0)+3>>0]=8;if(p>>>0>v>>>0)k[o+(v*20|0)+8>>2]=p;k[(k[B>>2]|0)+88>>2]=p+-1}while(0);q=k[q+20>>2]|0}while((q|0)!=0)}if(!(l<<24>>24==0|C^1)){Bh(M,50,f,I,0)|0;l=Bh(M,46,I,0,0)|0;Bh(M,28,0,L,0)|0;Ch(M,Bh(M,49,K,3,J)|0,28632,0);Bh(M,74,d,e,0)|0;Bh(M,75,d,J,e)|0;h=k[M+4>>2]|0;g=k[M+32>>2]|0;if(h)i[h+((g+-1|0)*20|0)+3>>0]=8;if(g>>>0>l>>>0)k[h+(l*20|0)+8>>2]=g;k[(k[M+24>>2]|0)+88>>2]=g+-1}}}return}function ov(a,b){a=a|0;b=b|0;a=Tq(a)|0;if(a)Bh(a,123,b,0,0)|0;return}function pv(a){a=a|0;var b=0,c=0,d=0;a:while(1){b=k[a+4>>2]|0;do if(b&4096)if(!(b&262144)){a=a+12|0;break}else{a=k[(k[a+20>>2]|0)+4>>2]|0;break}else{if(b&512){a=0;break a}switch(i[a>>0]|0){case -102:case -100:case -97:{d=11;break a}case 38:{d=10;break a}case 119:break;default:{d=14;break a}}a=k[(k[k[a+20>>2]>>2]|0)+4>>2]|0}while(0);a=k[a>>2]|0}if((d|0)==10)a=ar(k[a+8>>2]|0,0)|0;else if((d|0)==11){c=k[a+44>>2]|0;if(c){b=j[a+32>>1]|0;if(b<<16>>16<0)a=68;else a=i[(k[c+4>>2]|0)+((b<<16>>16)*24|0)+21>>0]|0}else d=14}if((d|0)==14)a=i[a+1>>0]|0;return a|0}function qv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;Bh(a,25,0,c,0)|0;d=Bh(a,108,b,0,0)|0;Bh(a,47,b,0,c)|0;b=k[a+4>>2]|0;c=k[a+32>>2]|0;if(b)i[b+((c+-1|0)*20|0)+3>>0]=-128;if(c>>>0>d>>>0)k[b+(d*20|0)+8>>2]=c;k[(k[a+24>>2]|0)+88>>2]=c+-1;return}function rv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=r;r=r+32|0;if((r|0)>=(s|0))ka();z=E;C=a+68|0;D=k[C>>2]|0;k[C>>2]=D+1;C=Tq(a)|0;A=(c&4|0)!=0;B=b+4|0;a:do if((((((((((((k[B>>2]&2048|0)!=0?(h=k[b+20>>2]|0,!((k[a+64>>2]|0)!=0|(h|0)==0)):0)?(k[h+52>>2]|0)==0:0)?(j[h+6>>1]&5)==0:0)?(k[h+60>>2]|0)==0:0)?(k[h+36>>2]|0)==0:0)?(g=k[h+32>>2]|0,(k[g>>2]|0)==1):0)?(k[g+28>>2]|0)==0:0)?(t=k[g+24>>2]|0,(t|0)!=0):0)?(i[t+44>>0]&16)==0:0)?(f=k[h>>2]|0,(k[f>>2]|0)==1):0)?(n=k[k[f+4>>2]>>2]|0,(i[n>>0]|0)==-102):0){x=k[a>>2]|0;y=j[n+32>>1]|0;m=k[t+68>>2]|0;b:do if(m){g=k[x+20>>2]|0;if((g|0)>0){f=k[x+16>>2]|0;e=0;while(1){h=e+1|0;if((k[f+(e<<4)+12>>2]|0)==(m|0)){h=e;break b}if((h|0)<(g|0))e=h;else break}}else h=0}else h=-1e6;while(0);v=h<<16>>16;Fr(a,v);ls(a,v,k[t+32>>2]|0,0,k[t>>2]|0);w=y<<16>>16;if(y<<16>>16<0){e=Tq(a)|0;d=a+80|0;f=k[d>>2]|0;k[d>>2]=f+1;f=Bh(e,44,f,0,0)|0;Vq(a,D,v,t,54);e=k[C+32>>2]|0;if(e>>>0>f>>>0)k[(k[C+4>>2]|0)+(f*20|0)+8>>2]=e;k[(k[C+24>>2]|0)+88>>2]=e+-1;e=1;m=49;break}e=Tu(a,k[b+12>>2]|0,n)|0;u=t+4|0;m=i[(k[u>>2]|0)+(w*24|0)+21>>0]|0;h=(sv(b)|0)<<24>>24;if((h|0)==65)h=1;else if((h|0)==66)h=m<<24>>24==66&1;else h=m<<24>>24>66&1;m=k[t+8>>2]|0;if((m|0)!=0&(h|0)!=0){n=x+62|0;h=a+80|0;g=a+8|0;f=(d|0)==0;o=C+32|0;q=C+4|0;t=C+24|0;p=a+72|0;c:while(1){do if((j[k[m+4>>2]>>1]|0)==y<<16>>16?(bo(x,i[n>>0]|0,k[k[m+32>>2]>>2]|0,0)|0)==(e|0):0){if(!A)break c;if((j[m+46>>1]|0)!=1)break;if(i[m+50>>0]|0)break c}while(0);m=k[m+20>>2]|0;if(!m){m=38;break a}}B=Tq(a)|0;e=k[h>>2]|0;k[h>>2]=e+1;h=Bh(B,44,e,0,0)|0;Bh(C,54,D,k[m+40>>2]|0,v)|0;e=k[g>>2]|0;Ch(e,-1,ms(a,m)|0,-6);e=(l[k[m+28>>2]>>0]|0)+3|0;if(!f?(i[(k[u>>2]|0)+(w*24|0)+20>>0]|0)==0:0){B=(k[p>>2]|0)+1|0;k[p>>2]=B;k[d>>2]=B;qv(C,D,B)}f=k[o>>2]|0;if(f>>>0>h>>>0)k[(k[q>>2]|0)+(h*20|0)+8>>2]=f;k[(k[t>>2]|0)+88>>2]=f+-1;m=49}else m=38}else m=38;while(0);do if((m|0)==38){if((c&1|0)!=0?(k[B>>2]&2048|0)==0:0){c=b+12|0;y=k[c>>2]|0;k[c>>2]=0;k[z+0>>2]=0;k[z+4>>2]=0;k[z+8>>2]=0;k[z+12>>2]=0;k[z+16>>2]=0;k[z+20>>2]=0;C=z+20|0;i[C>>0]=1;k[z>>2]=78;k[z+4>>2]=79;k[z+24>>2]=0;ws(z,b)|0;C=i[C>>0]|0;k[c>>2]=y;if(!(C<<24>>24)){e=5;m=49;break}if((k[k[b+20>>2]>>2]|0)<3){e=5;m=49;break}}g=a+424|0;h=k[g>>2]|0;if(A){k[g>>2]=0;if((j[(k[b+12>>2]|0)+32>>1]|0)<0){e=((k[B>>2]|0)>>>11&1)+1|0;f=0}else{e=2;f=0}}else if(!d){e=2;f=0}else{e=a+72|0;f=(k[e>>2]|0)+1|0;k[e>>2]=f;k[d>>2]=f;e=2}ju(a,b,f,(e|0)==1&1)|0;k[g>>2]=h}while(0);if((m|0)==49)k[b+28>>2]=D;r=E;return e|0}function sv(a){a=a|0;var b=0,c=0;b=pv(k[a+12>>2]|0)|0;c=k[a+16>>2]|0;do if(!c)if(!(k[a+4>>2]&2048))return (b<<24>>24==0?65:b)|0;else{b=Gu(k[k[(k[k[a+20>>2]>>2]|0)+4>>2]>>2]|0,b)|0;break}else b=Gu(c,b)|0;while(0);return b|0}function tv(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0;Z=r;r=r+16|0;if((r|0)>=(s|0))ka();W=Z;U=k[a>>2]|0;X=f+28|0;k[X>>2]=-1;T=f+44|0;k[T>>2]=0;a:do if((b|0)!=0?(j[e+28>>1]&20)==0:0){o=k[U+20>>2]|0;if((o|0)>0){m=k[U+16>>2]|0;n=0;while(1){if(!(id(k[m+(n<<4)>>2]|0,b)|0))break;n=n+1|0;if((n|0)>=(o|0)){S=b;b=0;break a}}S=b;b=k[m+(n<<4)+12>>2]|0}else{S=b;b=0}}else{S=0;b=0}while(0);Q=(S|0)==0;N=Q&(c|0)!=0;h=a+412|0;I=a+436|0;J=f+1|0;Y=f+32|0;K=a+428|0;M=a+432|0;R=(c|0)==0;P=f+4|0;g=e;p=0;l=0;o=0;n=0;b:while(1){H=(g|0)!=0;m=g+4|0;G=g+8|0;q=0;t=p;while(1){p=(q|0)==0;if(!(H&p)){V=82;break b}q=k[m>>2]|0;if(q){F=k[q>>2]|0;if((F|0)>0){p=0;E=0;D=q+8|0;while(1){C=k[D+16>>2]|0;u=k[D+20>>2]|0;if((u|0)!=0?(j[u+6>>1]&512)!=0:0){u=k[u>>2]|0;A=k[u>>2]|0;if((A|0)>0){B=k[u+4>>2]|0;u=0;w=0;do{if(Av(k[B+(w*20|0)+8>>2]|0,d,c,S)|0){j[Y>>1]=w;p=p+1|0;t=2;u=1;n=D}w=w+1|0}while((w|0)<(A|0))}else u=0;if(!((u|0)!=0|R)){v=t;V=21}}else{v=t;V=21}c:do if((V|0)==21){V=0;if(!Q?(k[C+68>>2]|0)!=(b|0):0){t=v;break}if(!R){u=k[D+12>>2]|0;if(!u)u=k[C>>2]|0;if(id(u,c)|0){t=v;break}}t=v+1|0;n=(v|0)==0?D:n;u=j[C+38>>1]|0;if(u<<16>>16>0){q=(p|0)==1;x=D+36|0;y=D+48|0;A=0;B=k[C+4>>2]|0;d:while(1){e:do if(!(id(k[B>>2]|0,d)|0)){if(!q){n=A;break d}if(!(i[x>>0]&4)){w=k[y>>2]|0;if(!w){n=A;break d}z=k[w+4>>2]|0;if((z|0)<=0){n=A;break d}w=k[w>>2]|0;v=0;while(1){if(!(id(k[w+(v<<3)>>2]|0,d)|0))break e;v=v+1|0;if((v|0)>=(z|0)){n=A;break d}}}}while(0);A=A+1|0;if((A|0)>=(u<<16>>16|0))break c;else B=B+24|0}j[Y>>1]=(n|0)==(j[C+36>>1]|0)?-1:n&65535;p=p+1|0;n=D}}while(0);E=E+1|0;if((E|0)>=(F|0))break;else D=D+72|0}}else p=0;if(!n)B=0;else{k[X>>2]=k[n+40>>2];q=k[n+16>>2]|0;k[T>>2]=q;if(i[n+36>>0]&8)k[P>>2]=k[P>>2]|1048576;B=n;b=k[q+68>>2]|0}}else{p=0;B=n}do if(N&(t|0)==0)if(k[h>>2]|0){q=i[I>>0]|0;if(q<<24>>24!=109)if(id(27560,c)|0)if(q<<24>>24==108){v=p;t=0;w=l;break}else V=49;else w=1;else V=49;if((V|0)==49){V=0;if(!(id(27568,c)|0))w=0;else{v=p;t=0;w=l;break}}k[X>>2]=w;v=k[h>>2]|0;if(v){b=k[v+68>>2]|0;u=j[v+38>>1]|0;f:do if(u<<16>>16>0){q=0;t=k[v+4>>2]|0;while(1){if(!(id(k[t>>2]|0,d)|0))break;q=q+1|0;if((q|0)<(u<<16>>16|0))t=t+24|0;else break f}q=(q|0)==(j[v+36>>1]|0)?-1:q}else q=0;while(0);n=u<<16>>16;if((q|0)>=(n|0)?(ei(d)|0)!=0:0)t=(i[v+44>>0]&32)==0?-1:q;else t=q;if((t|0)<(n|0)){p=p+1|0;do if((t|0)>=0){q=(t|0)>31?-1:1<<t;if(!w){k[K>>2]=k[K>>2]|q;break}else{k[M>>2]=k[M>>2]|q;break}}else i[J>>0]=68;while(0);j[Y>>1]=t;k[T>>2]=v;t=1;l=1;V=66}else{t=1;V=66}}else{v=p;t=0;w=l}}else{v=p;t=0;w=l}else V=66;while(0);if((V|0)==66){V=0;if((p|0)==0&(t|0)==1&(B|0)!=0)if((ei(d)|0)!=0?(i[(k[B+16>>2]|0)+44>>0]&32)==0:0){j[Y>>1]=-1;i[J>>0]=68;q=1;n=B;continue}else{v=0;w=l}else{v=p;w=l}}p=k[G>>2]|0;u=(v|0)==0;if((p|0)!=0&R&u?(O=k[p>>2]|0,(O|0)>0):0){l=k[p+4>>2]|0;n=0;do{q=k[l+(n*20|0)+4>>2]|0;if((q|0)!=0?(id(q,d)|0)==0:0){V=75;break b}n=n+1|0}while((n|0)<(O|0))}if(u){q=t;l=w;n=B;break}else{q=v;l=w;n=B}}g=k[g+16>>2]|0;p=q;o=o+1|0}do if((V|0)==75){if((j[g+28>>1]&1)==0?(k[(k[l+(n*20|0)>>2]|0)+4>>2]&2|0)!=0:0){k[W>>2]=q;yh(a,27576,W);e=2;break}Dv(a,p,n,f,10360,o);if((i[f>>0]|0)==24)V=115;else V=96}else if((V|0)==82){if(p&R?(k[P>>2]&64|0)!=0:0){i[f>>0]=97;k[T>>2]=0;e=1;break}q=(q|0)==1;if(!q){p=p?27608:27624;do if(Q)if(R){k[W>>2]=p;k[W+4>>2]=d;yh(a,27680,W);break}else{k[W>>2]=p;k[W+4>>2]=c;k[W+8>>2]=d;yh(a,27664,W);break}else{k[W>>2]=p;k[W+4>>2]=S;k[W+8>>2]=c;k[W+12>>2]=d;yh(a,27648,W)}while(0);i[a+17>>0]=1;E=e+24|0;k[E>>2]=(k[E>>2]|0)+1}o=j[Y>>1]|0;if(o<<16>>16>-1&(n|0)!=0){B=o<<16>>16>63;C=nw(1,0,o<<16>>16|0)|0;E=n+56|0;A=E;D=k[A+4>>2]|(B?-2147483648:L);k[E>>2]=k[A>>2]|(B?0:C);k[E+4>>2]=D}E=f+12|0;Lk(U,k[E>>2]|0);k[E>>2]=0;E=f+16|0;Lk(U,k[E>>2]|0);k[E>>2]=0;i[f>>0]=(l|0)!=0?62:-102;if(q)V=96;else e=2}while(0);g:do if((V|0)==96){p=k[m>>2]|0;l=k[a>>2]|0;if(!((k[l+284>>2]|0)==0|(b|0)==0)){o=k[l+20>>2]|0;if((o|0)>0){m=k[l+16>>2]|0;n=0;while(1){l=n+1|0;if((k[m+(n<<4)+12>>2]|0)==(b|0)){l=n;break}if((l|0)<(o|0))n=l;else break}if((l|0)<0){V=115;break}else b=l}else b=0;if((i[f>>0]|0)!=62){m=k[p>>2]|0;if((m|0)<=0){V=115;break}h=k[X>>2]|0;l=0;while(1){if((h|0)==(k[p+(l*72|0)+48>>2]|0))break;l=l+1|0;if((l|0)>=(m|0)){V=115;break g}}h=p+(l*72|0)+24|0}m=k[h>>2]|0;h=j[Y>>1]|0;l=h<<16>>16;if(m){if(h<<16>>16<=-1){h=j[m+36>>1]|0;if(h<<16>>16>-1)h=k[(k[m+4>>2]|0)+((h<<16>>16)*24|0)>>2]|0;else h=12944}else h=k[(k[m+4>>2]|0)+(l*24|0)>>2]|0;if((jv(a,k[m>>2]|0,h,b)|0)==2){i[f>>0]=101;V=115}else V=115}else V=115}else V=115}while(0);if((V|0)==115){E=e+20|0;k[E>>2]=(k[E>>2]|0)+1;if((g|0)==(e|0))e=1;else{do{e=k[e+16>>2]|0;E=e+20|0;k[E>>2]=(k[E>>2]|0)+1}while((e|0)!=(g|0));e=1}}r=Z;return e|0}function uv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=i[b>>0]|0;a:do if(c<<24>>24==-100|c<<24>>24==-102){c=k[a+24>>2]|0;d=k[c>>2]|0;b:do if((d|0)!=0?(e=k[d>>2]|0,(e|0)>0):0){a=k[b+28>>2]|0;b=0;while(1){if((a|0)==(k[d+(b*72|0)+48>>2]|0))break;b=b+1|0;if((b|0)>=(e|0))break b}a=c+4|0;k[a>>2]=(k[a>>2]|0)+1;break a}while(0);a=c+8|0;k[a>>2]=(k[a>>2]|0)+1}while(0);return 0}function vv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0,w=0,x=0;w=r;r=r+16|0;if((r|0)>=(s|0))ka();v=w;o=w+12|0;a:do if(!c)e=0;else{t=k[k[b>>2]>>2]|0;u=k[a>>2]|0;b:do if((k[c>>2]|0)>0){e=0;p=k[c+4>>2]|0;c:while(1){m=k[p>>2]|0;d:do if(!m)f=0;else{f=m;while(1){g=k[f+4>>2]|0;if(!(g&4096))break d;if(!(g&262144))f=f+12|0;else f=k[(k[f+20>>2]|0)+4>>2]|0;f=k[f>>2]|0;if(!f){f=0;break}}}while(0);if((i[d>>0]|0)!=71?(n=wv(k[b>>2]|0,f)|0,k[o>>2]=n,(n|0)>0):0)j[p+16>>1]=n;else q=13;do if((q|0)==13){q=0;if(Rs(f,o)|0){f=k[o>>2]|0;if((f+-1|0)>>>0>65534)break c;j[p+16>>1]=f;break}h=p+16|0;j[h>>1]=0;if(qs(a,m)|0){e=1;break a}g=k[b>>2]|0;l=k[g>>2]|0;if((l|0)>0){g=k[g+4>>2]|0;f=0;do{x=f;f=f+1|0;if(!(Hu(m,k[g+(x*20|0)>>2]|0,-1)|0))j[h>>1]=f}while((f|0)<(l|0))}}while(0);e=e+1|0;if((e|0)>=(k[c>>2]|0))break b;else p=p+20|0}k[v>>2]=e+1;k[v+4>>2]=d;k[v+8>>2]=t;yh(u,27064,v);e=1;break a}while(0);e=Bu(u,b,c,d)|0}while(0);r=w;return e|0}function wv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;a:do if((i[b>>0]|0)==27?(d=k[b+8>>2]|0,e=k[a>>2]|0,(e|0)>0):0){a=k[a+4>>2]|0;b=0;while(1){c=k[a+(b*20|0)+4>>2]|0;if((c|0)!=0?(id(c,d)|0)==0:0)break;b=b+1|0;if((b|0)>=(e|0)){b=0;break a}}b=b+1|0}else b=0;while(0);return b|0}function xv(a,b){a=a|0;b=b|0;var c=0,d=0;c=j[a+38>>1]|0;a:do if(c<<16>>16>0){d=k[a+4>>2]|0;c=c<<16>>16;a=0;while(1){if(!(id(k[d+(a*24|0)>>2]|0,b)|0))break a;a=a+1|0;if((a|0)>=(c|0)){a=-1;break}}}else a=-1;while(0);return a|0}function yv(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;i=k[a>>2]|0;c=Wv(i,b,c,d)|0;d=Wv(i,b,e,f)|0;f=cr(a,79,c,d,0)|0;if((f|0)!=0&(g|0)!=0){c=f+4|0;k[c>>2]=k[c>>2]|1;j[f+36>>1]=k[d+28>>2]}f=xs(i,k[h>>2]|0,f)|0;k[h>>2]=f;return}function zv(a,b){a=a|0;b=b|0;var c=0,d=0;if(a){c=b&65535;do{d=a+4|0;k[d>>2]=k[d>>2]|1;j[a+36>>1]=c;zv(k[a+12>>2]|0,b);a=k[a+16>>2]|0}while((a|0)!=0)}return}function Av(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;e=0;while(1){f=i[a+e>>0]|0;if(f<<24>>24==46|f<<24>>24==0)break;e=e+1|0}if(d)if((Kc(a,d,e)|0)==0?(i[d+e>>0]|0)==0:0)g=7;else e=0;else g=7;do if((g|0)==7){d=e+1|0;g=a+d|0;f=0;while(1){h=i[a+(f+d)>>0]|0;if(h<<24>>24==46|h<<24>>24==0)break;f=f+1|0}if(c){if(Kc(g,c,f)|0){e=0;break}if(i[c+f>>0]|0){e=0;break}}if((b|0)!=0?(id(a+(e+2+f)|0,b)|0)!=0:0){e=0;break}e=1}while(0);return e|0}function Bv(a,b){a=a|0;b=b|0;var c=0,d=0;a:do if((a|0)!=0?(d=k[a+4>>2]|0,(d|0)>0):0){c=k[a>>2]|0;a=0;while(1){if(!(id(k[c+(a<<3)>>2]|0,b)|0))break a;a=a+1|0;if((a|0)>=(d|0)){a=-1;break}}}else a=-1;while(0);return a|0}function Cv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;f=r;r=r+16|0;if((r|0)>=(s|0))ka();e=f;k[e>>2]=c;if(!c)d=0;else{d=c;while(1)if(!(i[d>>0]|0))break;else d=d+1|0;d=d-c&1073741823}k[e+4>>2]=d;d=Ar(a,b,e,0)|0;r=f;return d|0}function Dv(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+32|0;if((r|0)>=(s|0))ka();m=q;h=b+4|0;l=k[(k[h>>2]|0)+(c*20|0)>>2]|0;n=k[a>>2]|0;g=Rr(n,l,0,0)|0;do if(g){if((i[l>>0]|0)!=-102?(i[e>>0]|0)!=71:0){if((f|0)>0){k[m+0>>2]=0;k[m+4>>2]=0;k[m+8>>2]=0;k[m+12>>2]=0;k[m+16>>2]=0;k[m+20>>2]=0;k[m>>2]=88;k[m+24>>2]=f;ws(m,g)|0}g=cr(a,24,g,0,0)|0;if(!g)break;b=g+4|0;k[b>>2]=k[b>>2]|4096;b=(k[h>>2]|0)+(c*20|0)+18|0;f=j[b>>1]|0;if(!(f<<16>>16)){c=a+456|0;f=(k[c>>2]|0)+1|0;k[c>>2]=f;f=f&65535;j[b>>1]=f}k[g+28>>2]=f&65535}if((i[d>>0]|0)==95)g=Cv(a,g,k[d+8>>2]|0)|0;b=d+4|0;k[b>>2]=k[b>>2]|32768;Lk(n,d);f=d+0|0;h=g+0|0;l=f+48|0;do{k[f>>2]=k[h>>2];f=f+4|0;h=h+4|0}while((f|0)<(l|0));if((k[b>>2]&1024|0)==0?(o=d+8|0,p=k[o>>2]|0,(p|0)!=0):0){a=ph(n,p)|0;k[o>>2]=a;k[b>>2]=k[b>>2]|65536}rg(n,g)}while(0);r=q;return}function Ev(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,l=0,n=0;n=a+12|0;d=k[n>>2]|0;h=a+16|0;f=k[h>>2]|0;l=a+20|0;do if((d|0)<(f|0))i=15;else{d=k[l>>2]|0;g=k[k[k[a>>2]>>2]>>2]|0;e=rh(g,f*96|0,0)|0;k[l>>2]=e;if(!e){if(c&1)Lk(g,b);k[l>>2]=d;d=0;break}pw(e|0,d|0,(k[n>>2]|0)*48|0)|0;if((d|0)!=(a+24|0))rg(g,d);e=k[l>>2]|0;do if(!g)e=qc[k[8744+48>>2]&127](e)|0;else{if((k[g+276>>2]|0)>>>0<=e>>>0?(k[g+280>>2]|0)>>>0>e>>>0:0){e=m[g+248>>1]|0;break}e=qc[k[8744+48>>2]&127](e)|0}while(0);i=(e>>>0)/48|0;k[h>>2]=i;d=k[n>>2]|0;kw((k[l>>2]|0)+(d*48|0)|0,0,(i-d|0)*48|0)|0;d=k[n>>2]|0;i=15}while(0);if((i|0)==15){k[n>>2]=d+1;f=k[l>>2]|0;a:do if(!b){j[f+(d*48|0)+16>>1]=1;b=0}else{if(!(k[b+4>>2]&262144))e=1;else{e=k[b+28>>2]|0;e=((ks(e,((e|0)<0)<<31>>31)|0)&65535)+65266&65535}j[f+(d*48|0)+16>>1]=e;while(1){e=k[b+4>>2]|0;if(!(e&4096))break a;if(!(e&262144))b=b+12|0;else b=k[(k[b+20>>2]|0)+4>>2]|0;b=k[b>>2]|0;if(!b){b=0;break}}}while(0);k[f+(d*48|0)>>2]=b;j[f+(d*48|0)+20>>1]=c;k[f+(d*48|0)+24>>2]=a;k[f+(d*48|0)+4>>2]=-1}return d|0}function Fv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;a:do if(b)if((i[b>>0]|0)==-102){b=k[b+28>>2]|0;d=k[a>>2]|0;if((d|0)>0)c=0;else{d=0;c=0;break}while(1){if((k[a+(c<<2)+4>>2]|0)==(b|0))break;c=c+1|0;if((c|0)>=(d|0)){d=0;c=0;break a}}c=nw(1,0,c|0)|0;d=L;break}else{e=Fv(a,k[b+16>>2]|0)|0;c=L;f=Fv(a,k[b+12>>2]|0)|0;c=L|c;d=b+20|0;if(!(k[b+4>>2]&2048)){b=Qu(a,k[d>>2]|0)|0;d=L}else{b=Gv(a,k[d>>2]|0)|0;d=L}d=c|d;c=f|e|b;break}else{d=0;c=0}while(0);L=d;return c|0}function Gv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;if(!b){b=0;c=0}else{f=b;c=0;b=0;do{e=k[f+32>>2]|0;l=Qu(a,k[f>>2]|0)|0;b=L|b;j=Qu(a,k[f+40>>2]|0)|0;b=b|L;i=Qu(a,k[f+48>>2]|0)|0;b=b|L;h=Fv(a,k[f+36>>2]|0)|0;b=b|L;d=Fv(a,k[f+44>>2]|0)|0;c=l|c|j|i|h|d;b=b|L;if((e|0)!=0?(g=k[e>>2]|0,(g|0)>0):0){d=0;do{i=Gv(a,k[e+(d*72|0)+28>>2]|0)|0;b=L|b;j=Fv(a,k[e+(d*72|0)+52>>2]|0)|0;c=i|c|j;b=b|L;d=d+1|0}while((d|0)<(g|0))}f=k[f+52>>2]|0}while((f|0)!=0)}L=b;return c|0}function Hv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,l=0;l=j[b+18>>1]|0;h=j[c+18>>1]|0;e=h|l;if(((!((l&62)==0|(h&62)==0)?(d=e&65535,(d&26|0)==(d|0)|(d&38|0)==(d|0)):0)?(g=k[b>>2]|0,f=k[c>>2]|0,(Hu(k[g+12>>2]|0,k[f+12>>2]|0,-1)|0)==0):0)?(Hu(k[g+16>>2]|0,k[f+16>>2]|0,-1)|0)==0:0){if(d+65535&d)e=(d&24|0)==0?32:8;f=Rr(k[k[k[a>>2]>>2]>>2]|0,g,0,0)|0;if(f){e=e&65535;d=79;while(1)if((e|0)==(2<<d+-79|0))break;else d=d+1|0;i[f>>0]=d;Ju(a,Ev(a,f,3)|0)}}return}function Iv(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,l=0,n=0;k[a>>2]=b;k[a+4>>2]=b;a:do if((f|0)!=0&(d|0)>-1){i[a+12>>0]=i[(k[(k[f+12>>2]|0)+4>>2]|0)+(d*24|0)+21>>0]|0;g=k[f+4>>2]|0;if((j[g>>1]|0)==(d|0))b=0;else{h=m[f+48>>1]|0;l=0;while(1){b=l+1|0;if((l|0)>(h|0)){b=0;break a}if((j[g+(b<<1)>>1]|0)==(d|0))break;else l=b}}k[a+8>>2]=k[(k[f+32>>2]|0)+(b<<2)>>2];n=8}else{i[a+12>>0]=0;k[a+8>>2]=0;n=8}while(0);if((n|0)==8){k[a+16>>2]=e;k[a+20>>2]=0;k[a+24>>2]=c;k[a+28>>2]=d;i[a+13>>0]=2;i[a+14>>0]=2;b=Jv(a)|0}return b|0}
function Yn(a,b,c,d,e,f,g,h,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;l=l|0;var n=0,o=0,p=0,q=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0;aa=r;r=r+160|0;if((r|0)>=(s|0))ka();O=aa+16|0;J=aa+152|0;M=aa+48|0;I=aa+40|0;N=aa+36|0;K=aa+32|0;R=aa+8|0;Q=aa;W=aa+28|0;_=aa+24|0;k[_>>2]=0;do if(!(i[a+46>>0]|0)){$=a+43|0;if((i[$>>0]|0)==0?(n=k[a+4>>2]|0,n=uc[k[(k[n>>2]|0)+56>>2]&31](n,1,1,10)|0,(n|0)!=0):0)break;Z=a+45|0;i[Z>>0]=1;a:do if(!b){t=0;X=11}else{p=a+4|0;n=(c|0)!=0;while(1){if(i[$>>0]|0)break;t=k[p>>2]|0;t=uc[k[(k[t>>2]|0)+56>>2]&31](t,0,1,10)|0;if(!(n&(t|0)==5)){X=9;break}if(!(qc[c&127](d)|0)){t=0;c=0;X=11;break a}}if((X|0)==9)if((t|0)==5){t=0;c=0;X=11;break}else if(t){Y=b;break}i[a+44>>0]=1;t=b;X=11}while(0);if((X|0)==11){Y=t;t=sq(a,_)|0}do if(!t){V=a+68|0;t=j[a+66>>1]|0;if((k[V>>2]|0)!=0?(U=t&65535,(U<<16&65536|U&65024|0)!=(f|0)):0){k[O>>2]=51863;k[O+4>>2]=10788;gd(11,13600,O);o=11;break}S=t&65535;S=S<<16&65536|S&65024;U=a+32|0;T=(k[k[U>>2]>>2]|0)+96|0;w=k[V>>2]|0;b:do if((k[T>>2]|0)>>>0<w>>>0){G=(w+33|0)>>>12;H=G+1|0;f=w<<1;v=f+28+(G*20|0)|0;n=Yc(v)|0;c:do if(!n){t=7;n=0}else{kw(n|0,0,v|0)|0;v=n+4|0;k[v>>2]=H;f=Yc(w>>>0>4096?8192:f)|0;do if(f){F=n+8|0;u=0;while(1){t=Uo(a,u,I,K,N)|0;if(t){X=21;break}E=(k[K>>2]|0)+4|0;k[K>>2]=E;if((u|0)==(G|0)){D=k[N>>2]|0;t=D;D=w-D|0}else{t=k[N>>2]|0;D=(k[I>>2]|0)-E>>2}p=F+((k[v>>2]|0)*20|0)|0;C=p+(t<<1)|0;B=t+1|0;k[N>>2]=B;if((D|0)>0){y=0;do{j[p+(y+t<<1)>>1]=y;y=y+1|0}while((y|0)!=(D|0));k[O>>2]=0;k[J>>2]=0;z=M+0|0;y=z+104|0;do{k[z>>2]=0;z=z+4|0}while((z|0)<(y|0));A=0;do{k[O>>2]=1;z=p+(A+t<<1)|0;k[J>>2]=z;if(!(A&1)){x=1;y=0}else{y=0;do{tq(E,k[M+(y<<3)+4>>2]|0,k[M+(y<<3)>>2]|0,J,O,f);y=y+1|0}while((1<<y&A|0)!=0);x=k[O>>2]|0;z=k[J>>2]|0}k[M+(y<<3)+4>>2]=z;k[M+(y<<3)>>2]=x;A=A+1|0}while((A|0)!=(D|0));y=y+1|0;if((y|0)<13)X=34}else{k[O>>2]=0;k[J>>2]=0;z=M+0|0;y=z+104|0;do{k[z>>2]=0;z=z+4|0}while((z|0)<(y|0));y=1;X=34}if((X|0)==34){while(1){X=0;if(1<<y&D)tq(E,k[M+(y<<3)+4>>2]|0,k[M+(y<<3)>>2]|0,J,O,f);y=y+1|0;if((y|0)==13)break;else X=34}x=k[O>>2]|0}k[F+(u*20|0)+16>>2]=B;k[F+(u*20|0)+12>>2]=x;k[F+(u*20|0)+4>>2]=C;k[F+(u*20|0)+8>>2]=E;u=u+1|0;if((u|0)>=(H|0)){X=39;break}}if((X|0)==21){$c(f);break}else if((X|0)==39){$c(f);t=0;break c}}else{$c(0);t=7}while(0);$c(n)}while(0);if(!t){O=a+72|0;N=k[O>>2]|0;M=a+4|0;x=1;w=k[V>>2]|0;t=0;while(1){f=T+(x<<2)+4|0;p=k[f>>2]|0;d:do if(w>>>0>p>>>0){v=x+3|0;u=(c|0)!=0;while(1){if(i[$>>0]|0)break;t=k[M>>2]|0;t=uc[k[(k[t>>2]|0)+56>>2]&31](t,v,1,10)|0;if(!(u&(t|0)==5)){X=49;break}if(!(qc[c&127](d)|0)){c=0;t=5;break d}}if((X|0)==49){X=0;if((t|0)==5){c=0;t=5;break}else if(t){o=t;X=100;break b}}k[f>>2]=(x|0)==1?w:-1;if(!(i[$>>0]|0)){p=k[M>>2]|0;uc[k[(k[p>>2]|0)+56>>2]&31](p,v,1,9)|0;p=w;t=0}else{p=w;t=0}}else p=w;while(0);x=x+1|0;if((x|0)>=5){H=p;break}else w=p}e:do if((k[T>>2]|0)>>>0<H>>>0){t=(c|0)!=0;while(1){if(i[$>>0]|0)break;p=k[M>>2]|0;p=uc[k[(k[p>>2]|0)+56>>2]&31](p,3,1,10)|0;if(!(t&(p|0)==5)){q=p;X=58;break}if(!(qc[c&127](d)|0)){q=5;break e}}if((X|0)==58?(q|0)!=0:0)break;E=k[T>>2]|0;F=(e|0)!=0;if(F?(P=k[a+8>>2]|0,P=wc[k[(k[P>>2]|0)+20>>2]&127](P,e)|0,(P|0)!=0):0)q=P;else X=61;f:do if((X|0)==61){P=xw(N|0,0,S|0,0)|0;q=Q;k[q>>2]=P;k[q+4>>2]=L;q=k[M>>2]|0;q=wc[k[(k[q>>2]|0)+24>>2]&127](q,R)|0;if(!q){P=R;J=k[P+4>>2]|0;R=Q;K=k[R+4>>2]|0;if((J|0)<(K|0)|((J|0)==(K|0)?(k[P>>2]|0)>>>0<(k[R>>2]|0)>>>0:0)){R=k[M>>2]|0;fc[k[(k[R>>2]|0)+40>>2]&63](R,5,Q)|0}B=n+4|0;C=S|24;D=a+8|0;t=k[B>>2]|0;g:do if((t|0)>0){q=0;while(1){A=k[n>>2]|0;z=-1;h:while(1){i:while(1){t=t+-1|0;x=n+(t*20|0)+8|0;f=k[x>>2]|0;p=k[n+(t*20|0)+20>>2]|0;j:do if((f|0)<(p|0)){w=k[n+(t*20|0)+12>>2]|0;y=k[n+(t*20|0)+16>>2]|0;while(1){u=m[w+(f<<1)>>1]|0;v=k[y+(u<<2)>>2]|0;if(v>>>0>A>>>0)break;f=f+1|0;k[x>>2]=f;if((f|0)>=(p|0))break j}if(v>>>0<z>>>0)break i}while(0);if((t|0)<=0){f=q;t=z;break h}}q=(k[n+(t*20|0)+24>>2]|0)+u|0;if((t|0)>0)z=v;else{f=q;t=v;break}}k[n>>2]=t;if((t|0)==-1)break g;if(!(f>>>0<=E>>>0|f>>>0>H>>>0|t>>>0>N>>>0)){q=xw(f+-1|0,0,C|0,0)|0;q=ow(q|0,L|0,56,0)|0;R=k[D>>2]|0;q=yc[k[(k[R>>2]|0)+8>>2]&31](R,g,S,q,L)|0;if(q)break f;q=xw(t+-1|0,0,S|0,0)|0;R=k[M>>2]|0;q=yc[k[(k[R>>2]|0)+12>>2]&31](R,g,S,q,L)|0;if(q)break f}t=k[B>>2]|0;if((t|0)<=0){X=66;break}else q=f}}else X=66;while(0);if((X|0)==66)k[n>>2]=-1;if((H|0)==(k[(k[k[U>>2]>>2]|0)+16>>2]|0)){q=xw(k[O>>2]|0,0,S|0,0)|0;X=k[M>>2]|0;q=fc[k[(k[X>>2]|0)+16>>2]&63](X,q,L)|0;if((q|0)==0&F){q=k[M>>2]|0;q=wc[k[(k[q>>2]|0)+20>>2]&127](q,e)|0}if(q)break}k[T>>2]=H;q=0}}while(0);if(!(i[$>>0]|0)){X=k[M>>2]|0;uc[k[(k[X>>2]|0)+56>>2]&31](X,3,1,9)|0}}else q=t;while(0);q=(q|0)==5?0:q;X=88}else o=t}else{n=0;q=0;X=88}while(0);k:do if((X|0)==88)if((q|0)==0&(Y|0)!=0)if((k[T>>2]|0)>>>0>=(k[V>>2]|0)>>>0)if((Y|0)>1){hd(4,W);t=a+4|0;p=(c|0)!=0;while(1){if(i[$>>0]|0)break;q=k[t>>2]|0;q=uc[k[(k[q>>2]|0)+56>>2]&31](q,4,4,10)|0;if(!(p&(q|0)==5)){o=q;X=95;break}if(!(qc[c&127](d)|0)){o=5;X=100;break k}}if((X|0)==95?(o|0)!=0:0){X=100;break}if((Y|0)==3){ap(a,k[W>>2]|0);o=k[a+8>>2]|0;o=fc[k[(k[o>>2]|0)+16>>2]&63](o,0,0)|0}else o=0;if(!(i[$>>0]|0)){X=k[t>>2]|0;uc[k[(k[X>>2]|0)+56>>2]&31](X,4,4,9)|0;X=100}else X=100}else{o=0;X=100}else{o=5;X=100}else{o=q;X=100}while(0);if((X|0)==100)$c(n);if((o|0)==0|(o|0)==5){if(h)k[h>>2]=k[V>>2];if(l)k[l>>2]=k[(k[k[U>>2]>>2]|0)+96>>2]}}else o=t;while(0);if(k[_>>2]|0){z=a+52|0;y=z+48|0;do{k[z>>2]=0;z=z+4|0}while((z|0)<(y|0))}n=a+44|0;if(i[n>>0]|0){if(!(i[$>>0]|0)){_=k[a+4>>2]|0;uc[k[(k[_>>2]|0)+56>>2]&31](_,0,1,9)|0}i[n>>0]=0;i[a+47>>0]=0}if(!(i[$>>0]|0)){$=k[a+4>>2]|0;uc[k[(k[$>>2]|0)+56>>2]&31]($,1,1,9)|0}i[Z>>0]=0;n=(o|0)!=0|(Y|0)==(b|0)?o:5}else n=8;while(0);r=aa;return n|0}function Zn(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;g=(b|0)<(d|0)?b:d;f=cw(c,e,g)|0;a:do if(!f){b:do if(a){f=b-g|0;while(1){if((f|0)<=0)break;f=f+-1|0;if((i[c+(f+g)>>0]|0)!=32)break b}if(!f){f=d-g|0;while(1){if((f|0)<=0)break;f=f+-1|0;if((i[e+(f+g)>>0]|0)!=32)break b}if(!f){f=0;break a}}}while(0);f=b-d|0}while(0);return f|0}function _n(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;a=Kc(c,e,(b|0)<(d|0)?b:d)|0;return ((a|0)==0?b-d|0:a)|0}function $n(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0,w=0,x=0,y=0;y=r;r=r+16|0;if((r|0)>=(s|0))ka();w=y;n=k[c>>2]|0;a:do if(b){l=b;while(1)if(!(i[l>>0]|0))break;else l=l+1|0;m=l-b&1073741823;if((k[2189]|n&64|0)!=0&m>>>0>4?(cw(b,14984,5)|0)==0:0){l=m+2|0;j=n|64;if(m){n=0;do{l=((i[b+n>>0]|0)==38&1)+l|0;n=n+1|0}while((n|0)<(m|0))}h=Yc(l)|0;if(h){do if((i[b+5>>0]|0)==47?(i[b+6>>0]|0)==47:0){l=7;while(1){q=i[b+l>>0]|0;if(q<<24>>24==0|q<<24>>24==47)break;l=l+1|0}if((l|0)==7){l=0;n=7;g=0;break}else if((l|0)==16){g=b+7|0;if(!(cw(14992,g,9)|0)){l=0;n=16;g=0;break}}else g=b+7|0;k[w>>2]=l+-7;k[w+4>>2]=g;g=dd(15008,w)|0;k[f>>2]=g;g=1;x=74;break a}else{l=0;n=5;g=0}while(0);b:while(1){u=h+(g+-1)|0;c:while(1){d:while(1){m=i[b+n>>0]|0;if(m<<24>>24==35|m<<24>>24==0)break b;o=n+1|0;if((m<<24>>24==37?(v=i[b+o>>0]|0,(i[10368+(v&255)>>0]&8)!=0):0)?(t=i[b+(n+2)>>0]|0,(i[10368+(t&255)>>0]&8)!=0):0){m=v;o=t;break}if(!l){n=o;x=38;break c}else if((l|0)==2){n=o;x=39;break c}else if((l|0)!=1){n=o;break c}if(!(m<<24>>24==38|m<<24>>24==61)){l=1;n=o;break c}if(!(i[u>>0]|0))n=o;else{n=o;x=36;break c}while(1){q=i[b+n>>0]|0;if(q<<24>>24==35|q<<24>>24==0)continue d;if((i[b+(n+-1)>>0]|0)==38)continue d;else n=n+1|0}}m=m<<24>>24;n=n+3|0;q=o<<24>>24;m=(0-(q>>>6&1)&9)+q&15|(0-(m>>>6&1)&9)+m<<4&240;if(m){x=30;break}o=(l|0)==0;while(1){m=i[b+n>>0]|0;if(m<<24>>24==35|m<<24>>24==0)continue c;if(o&m<<24>>24==63){l=0;continue c}if((l|0)==1){if(m<<24>>24==38|m<<24>>24==61){l=1;continue c}}else if((l|0)==2?m<<24>>24==38:0){l=2;continue c}n=n+1|0}}if((x|0)==30){x=0;m=m&255}else if((x|0)==36){x=0;if(m<<24>>24==38){i[h+g>>0]=0;m=0;l=1;g=g+1|0}else{m=0;l=2}}else if((x|0)==38){x=0;if(m<<24>>24==63)x=40;else l=0}else if((x|0)==39){x=0;if(m<<24>>24==38)x=40;else l=2}if((x|0)==40){x=0;m=0;l=1}i[h+g>>0]=m;g=g+1|0}if((l|0)==1){i[h+g>>0]=0;g=g+1|0}i[h+g>>0]=0;i[h+(g+1)>>0]=0;g=h;while(1)if(!(i[g>>0]|0))break;else g=g+1|0;g=(g-h&1073741823)+1|0;l=i[h+g>>0]|0;if(l<<24>>24){v=h+g|0;e:while(1){m=v;while(1){g=m+1|0;if(!(l<<24>>24)){l=m;break}l=i[g>>0]|0;m=g}u=l-v&1073741823;l=v+(u+1)|0;m=l;while(1)if(!(i[m>>0]|0))break;else m=m+1|0;t=m-l&1073741823;if((u|0)==3){g=(cw(15040,v,3)|0)==0;g=g?l:a}else if((u|0)==5)if(!(cw(15048,v,5)|0)){b=15056;p=393216;q=-393217;g=15048;x=58}else g=a;else if((u|0)==4?(cw(15096,v,4)|0)==0:0){b=15104;p=j&135;q=-136;g=15176;x=58}else g=a;if((x|0)==58){x=0;n=k[b>>2]|0;if(!n){x=65;break}else m=0;while(1){o=n;while(1)if(!(i[o>>0]|0))break;else o=o+1|0;if((t|0)==(o-n&1073741823|0)?(cw(l,n,t)|0)==0:0){n=m;break}m=m+1|0;n=k[b+(m<<3)>>2]|0;if(!n){x=65;break e}}n=k[b+(n<<3)+4>>2]|0;if(!n){x=65;break}if((n&-129|0)>(p|0)){x=67;break}j=n|q&j;g=a}v=v+(u+2+t)|0;l=i[v>>0]|0;if(!(l<<24>>24)){x=72;break a}else a=g}if((x|0)==65){k[w>>2]=g;k[w+4>>2]=l;g=dd(15184,w)|0;k[f>>2]=g;g=1;x=74;break}else if((x|0)==67){k[w>>2]=g;k[w+4>>2]=l;g=dd(15208,w)|0;k[f>>2]=g;g=3;x=74;break}}else{g=a;x=72}}else g=7}else{j=m;x=70}}else{j=0;x=70}while(0);if((x|0)==70){h=Yc(j+2|0)|0;if(!h)g=7;else{pw(h|0,b|0,j|0)|0;i[h+j>>0]=0;i[h+(j+1)>>0]=0;j=n&-65;g=a;x=72}}if((x|0)==72){q=Pc(g)|0;k[d>>2]=q;if(!q){k[w>>2]=g;g=dd(15232,w)|0;k[f>>2]=g;g=1;x=74}else{g=0;x=75}}if((x|0)==74){$c(h);h=0;x=75}if((x|0)==75){k[c>>2]=j;k[e>>2]=h}r=y;return g|0}function ao(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;do if(!b){b=vg(84,0)|0;if(!b)c=8;else{a=b+0|0;e=a+84|0;do{i[a>>0]=0;a=a+1|0}while((a|0)<(e|0));c=9}}else{d=k[b+4>>2]|0;k[d+4>>2]=k[b>>2];c=d+48|0;b=k[c>>2]|0;if(!b){b=vg(84,0)|0;if(!b){k[c>>2]=0;k[d+52>>2]=22;c=8;break}else{a=b+0|0;e=a+84|0;do{i[a>>0]=0;a=a+1|0}while((a|0)<(e|0));k[c>>2]=b;k[d+52>>2]=22;c=9;break}}else c=9}while(0);if((c|0)==8){i[a+65>>0]=1;b=0}else if((c|0)==9)if(!(i[b+76>>0]|0)){c=b+77|0;a=b+8|0;e=a+64|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(e|0));i[c>>0]=1}return b|0}function bo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=r;r=r+16|0;if((r|0)>=(s|0))ka();if(c){g=a+428|0;f=gn(g,c,j)|0;if(!f)e=0;else e=k[f+8>>2]|0;if((e|0)==0&(d|0)!=0){f=c;while(1)if(!(i[f>>0]|0))break;else f=f+1|0;f=f-c&1073741823;d=f+61|0;e=rh(a,d,0)|0;if(e){kw(e|0,0,d|0)|0;d=e+60|0;k[e>>2]=d;i[e+4>>0]=1;k[e+20>>2]=d;i[e+24>>0]=2;k[e+40>>2]=d;i[e+44>>0]=3;pw(d|0,c|0,f|0)|0;i[e+(f+60)>>0]=0;f=Nk(g,k[e>>2]|0,e)|0;if(!f)h=10;else{i[a+65>>0]=1;rg(a,f);e=0}}else e=0}else h=10}else{e=k[a+8>>2]|0;h=10}if((h|0)==10)if(!e)e=0;else e=e+(((b&255)+-1|0)*20|0)|0;r=j;return e|0}function co(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=r;r=r+64|0;if((r|0)>=(s|0))ka();y=A;f=A+48|0;o=A+24|0;v=A+8|0;g=(b|0)==1;t=g?13184:13208;k[f>>2]=t;k[f+4>>2]=13224;k[f+8>>2]=g?13064:12960;k[f+12>>2]=0;k[v>>2]=a;k[v+8>>2]=b;u=v+12|0;k[u>>2]=0;k[v+4>>2]=c;en(v,3,f,0)|0;f=k[u>>2]|0;a:do if(!f){w=a+16|0;f=di(a,t,k[(k[w>>2]|0)+(b<<4)>>2]|0)|0;if(f){q=f+44|0;i[q>>0]=l[q>>0]|1}e=k[w>>2]|0;x=e+(b<<4)+4|0;f=k[x>>2]|0;if(!f){if(!g){d=0;break}d=(k[e+28>>2]|0)+78|0;j[d>>1]=m[d>>1]|1;d=0;break}k[(k[f+4>>2]|0)+4>>2]=k[f>>2];do if(!(i[f+8>>0]|0)){f=Dg(f,0)|0;if((f|0)==516)d=16344;else if(!f){f=k[x>>2]|0;q=1;break}else z=10;if((z|0)==10){d=f&255;if(d>>>0>26|(d|0)==2)d=16328;else d=k[15488+(d<<2)>>2]|0}k[y>>2]=d;ih(c,a,10344,y);d=f;z=38;break a}else q=0;while(0);Bm(f,1,o);p=o+4|0;Bm(k[x>>2]|0,2,p);h=o+8|0;Bm(k[x>>2]|0,3,h);Bm(k[x>>2]|0,4,o+12|0);g=o+16|0;Bm(k[x>>2]|0,5,g);n=e+(b<<4)+12|0;f=k[n>>2]|0;k[f>>2]=k[o>>2];e=k[g>>2]|0;do if(e){if(!b){g=e&3;g=(g|0)==0?1:g&255;i[a+62>>0]=g;z=19;break}g=i[a+62>>0]|0;if((e|0)==(g&255|0))z=19;else{ih(c,a,13232,y);d=1}}else{g=(k[(k[w>>2]|0)+(b<<4)+12>>2]|0)+78|0;j[g>>1]=m[g>>1]|4;g=i[a+62>>0]|0;z=19}while(0);do if((z|0)==19){i[f+77>>0]=g;g=f+80|0;if(!(k[g>>2]|0)){f=k[h>>2]|0;if((f|0)<=-1)f=(f|0)==-2147483648?2147483647:0-f|0;f=(f|0)==0?2e3:f;k[g>>2]=f;uq(k[x>>2]|0,f);f=k[n>>2]|0}e=k[p>>2]|0;g=e&255;f=f+76|0;if(g<<24>>24){i[f>>0]=g;if((g&255)>4){ih(c,a,13304,y);d=1;break}}else i[f>>0]=1;if((b|0)==0&(e|0)>3){p=a+24|0;k[p>>2]=k[p>>2]&-32769}k[y>>2]=k[(k[w>>2]|0)+(b<<4)>>2];k[y+4>>2]=t;f=zh(a,13328,y)|0;t=a+284|0;p=k[t>>2]|0;k[t>>2]=0;e=Ve(a,f,22,v,0)|0;k[t>>2]=p;e=(e|0)==0?k[u>>2]|0:e;rg(a,f);f=(e|0)==0;if(f)fn(a,b)|0;if(!(i[a+65>>0]|0)){if(!f){d=e;z=34}}else{Jg(a);d=7;z=34}if((z|0)==34?(k[a+24>>2]&65536|0)==0:0)break;d=(k[(k[w>>2]|0)+(b<<4)+12>>2]|0)+78|0;j[d>>1]=m[d>>1]|1;d=0}while(0);if(!q)z=38;else{zn(k[x>>2]|0)|0;z=38}}else{d=f;z=38}while(0);if((z|0)==38)if((d|0)==7|(d|0)==3082)i[a+65>>0]=1;r=A;return d|0}function eo(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0;m=r;r=r+80|0;if((r|0)>=(s|0))ka();j=m;k[12066]=k[2708];if(!(k[12067]|0)){c=Qb(48336)|0;k[12067]=c}if(!(k[12068]|0)){c=Qb(48352)|0;k[12068]=c}d=j+12|0;e=0;c=0;do{if((((c|0)!=0?(wc[k[47552+52>>2]&127](c,j)|0)==0:0)?(k[d>>2]&61440|0)==16384:0)?(wc[k[47552+28>>2]&127](c,7)|0)==0:0)break;c=k[48264+(e<<2)>>2]|0;e=e+1|0}while(e>>>0<7);h=(c|0)==0?28928:c;if(((lw(h|0)|0)+25|0)>>>0<a>>>0){a=a+-18|0;do{k[j>>2]=h;fd(a,b,48248,j)|0;d=lw(b|0)|0;c=b+d|0;hd(15,c);g=b+(d+15)|0;f=0;e=d;while(1){i[c>>0]=i[48184+(((l[c>>0]|0)%62|0)&255)>>0]|0;f=f+1|0;e=e+1|0;if((f|0)==15)break;else c=b+e|0}i[g>>0]=0;i[b+(d+16)>>0]=0}while((wc[k[47552+28>>2]&127](b,0)|0)==0);c=0}else c=1;r=m;return c|0}function fo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=r;r=r+80|0;if((r|0)>=(s|0))ka();h=j;g=(c|0)!=0;e=g?c:420;f=b|524288;while(1){d=fc[k[47552+4>>2]&63](a,f,e)|0;if((d|0)<0){l=Mb()|0;if((k[l>>2]|0)==4)continue;else break}if((d|0)>2){i=6;break}qc[k[47552+16>>2]&127](d)|0;k[h>>2]=a;k[h+4>>2]=d;gd(28,48120,h);if((fc[k[47552+4>>2]&63](48168,b,c)|0)<0){d=-1;break}}if((i|0)==6)if(((g?(wc[k[47552+64>>2]&127](d,h)|0)==0:0)?(k[h+36>>2]|0)==0:0)?(k[h+12>>2]&511|0)!=(c|0):0)wc[k[47552+172>>2]&127](d,c)|0;r=j;return d|0}function go(a,b,c){a=a|0;b=b|0;c=c|0;if(qc[k[47552+16>>2]&127](b)|0){if(!a)b=0;else b=k[a+32>>2]|0;io(4106,47856,b,c)|0}return}function ho(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+80|0;if((r|0)>=(s|0))ka();d=e;b=e+4|0;c=a+18|0;do if(!(j[c>>1]&256)){if(wc[k[47552+64>>2]&127](k[a+12>>2]|0,b)|0){k[d>>2]=k[a+32>>2];gd(28,48592,d);j[c>>1]=m[c>>1]|0|256;break}b=k[b+16>>2]|0;if(!b){if(!(j[c>>1]&32)){k[d>>2]=k[a+32>>2];gd(28,48616,d);j[c>>1]=m[c>>1]|0|256;break}}else if(b>>>0>1){k[d>>2]=k[a+32>>2];gd(28,48648,d);j[c>>1]=m[c>>1]|0|256;break}if(Co(a)|0){k[d>>2]=k[a+32>>2];gd(28,48680,d);j[c>>1]=m[c>>1]|0|256}}while(0);r=e;return}function io(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;e=r;r=r+32|0;if((r|0)>=(s|0))ka();f=e;h=Mb()|0;h=k[h>>2]|0;g=Wb(h|0)|0;k[f>>2]=d;k[f+4>>2]=h;k[f+8>>2]=b;k[f+12>>2]=(c|0)==0?10360:c;k[f+16>>2]=g;gd(a,47864,f);r=e;return a|0}function jo(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=a+40|0;c=k[h>>2]|0;g=c<<1;g=g>>>0<256?256:g;if((c|0)!=0?(b=k[3164]|0,(b|0)!=0):0)sc[b&3]();b=g<<2;f=vg(b,0)|0;c=(f|0)==0;if(!c)kw(f|0,0,b|0)|0;if((k[h>>2]|0)!=0?(d=k[3166]|0,(d|0)!=0):0)sc[d&3]();if(!c){d=k[h>>2]|0;e=a+44|0;b=k[e>>2]|0;if(d){a=0;do{c=k[b+(a<<2)>>2]|0;if(c){do{j=c+16|0;i=c;c=k[j>>2]|0;b=f+((((k[i+8>>2]|0)>>>0)%(g>>>0)|0)<<2)|0;k[j>>2]=k[b>>2];k[b>>2]=i}while((c|0)!=0);b=k[e>>2]|0}a=a+1|0}while(a>>>0<d>>>0)}$c(b);k[e>>2]=f;k[h>>2]=g}return}function ko(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;f=a+24|0;g=a+16|0;c=a+4|0;a:do if((k[g>>2]|0)>>>0>(k[c>>2]|0)>>>0)do{d=k[f>>2]|0;if(!d)break a;lo(d);e=k[d+20>>2]|0;b=(k[e+44>>2]|0)+((((k[d+8>>2]|0)>>>0)%((k[e+40>>2]|0)>>>0)|0)<<2)|0;while(1){h=k[b>>2]|0;a=h+16|0;if((h|0)==(d|0))break;else b=a}k[b>>2]=k[a>>2];a=e+36|0;k[a>>2]=(k[a>>2]|0)+-1;no(d)}while((k[g>>2]|0)>>>0>(k[c>>2]|0)>>>0);while(0);return}function lo(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;c=k[a+20>>2]|0;d=k[c>>2]|0;e=a+28|0;f=k[e>>2]|0;g=a+24|0;b=k[g>>2]|0;if(!f)k[d+20>>2]=b;else{k[f+24>>2]=b;b=k[g>>2]|0}if(!b)k[d+24>>2]=f;else k[b+28>>2]=f;k[g>>2]=0;k[e>>2]=0;i[a+12>>0]=1;b=c+32|0;k[b>>2]=(k[b>>2]|0)+-1;return}function mo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;j=k[a>>2]|0;q=a+36|0;g=k[q>>2]|0;e=k[a+32>>2]|0;f=g-e|0;o=(c|0)==1;if(o)if(f>>>0<(k[j+12>>2]|0)>>>0?f>>>0<(k[a+24>>2]|0)>>>0:0){if((k[3155]|0)!=0?((k[a+8>>2]|0)+(k[a+4>>2]|0)|0)<=(k[3154]|0):0)c=12648|0;else c=9060|0;if(!((k[c>>2]|0)!=0&e>>>0<f>>>0))n=8;else d=0}else d=0;else n=8;do if((n|0)==8){m=a+40|0;if(g>>>0>=(k[m>>2]|0)>>>0)jo(a);h=a+12|0;do if((k[h>>2]|0)!=0?(d=k[j+24>>2]|0,(d|0)!=0):0){if(((k[q>>2]|0)+1|0)>>>0<(k[a+20>>2]|0)>>>0?(k[j+16>>2]|0)>>>0<(k[j+4>>2]|0)>>>0:0){if((k[3155]|0)!=0?((k[a+8>>2]|0)+(k[a+4>>2]|0)|0)<=(k[3154]|0):0)c=12648|0;else c=9060|0;if(!(k[c>>2]|0)){n=23;break}}c=d+20|0;e=k[c>>2]|0;f=(k[e+44>>2]|0)+((((k[d+8>>2]|0)>>>0)%((k[e+40>>2]|0)>>>0)|0)<<2)|0;while(1){r=k[f>>2]|0;g=r+16|0;if((r|0)==(d|0))break;else f=g}k[f>>2]=k[g>>2];g=e+36|0;k[g>>2]=(k[g>>2]|0)+-1;lo(d);c=k[c>>2]|0;if(((k[c+8>>2]|0)+(k[c+4>>2]|0)|0)==((k[a+8>>2]|0)+(k[a+4>>2]|0)|0)){l=j+16|0;k[l>>2]=(k[h>>2]|0)-(k[c+12>>2]|0)+(k[l>>2]|0);break}else{no(d);n=23;break}}else n=23;while(0);if((n|0)==23){if(o?(l=k[3164]|0,(l|0)!=0):0)sc[l&3]();c=a+4|0;e=Lo((k[c>>2]|0)+32+(k[a+8>>2]|0)|0)|0;c=k[c>>2]|0;d=e+c|0;if(e){k[d>>2]=e;k[e+(c+4)>>2]=e+(c+32);if(k[h>>2]|0){n=(k[a>>2]|0)+16|0;k[n>>2]=(k[n>>2]|0)+1}}else d=0;if(o?(p=k[3166]|0,(p|0)!=0):0)sc[p&3]();if(!d){d=0;break}}e=(b>>>0)%((k[m>>2]|0)>>>0)|0;k[q>>2]=(k[q>>2]|0)+1;k[d+8>>2]=b;n=a+44|0;k[d+16>>2]=k[(k[n>>2]|0)+(e<<2)>>2];k[d+20>>2]=a;k[d+28>>2]=0;k[d+24>>2]=0;i[d+12>>0]=1;k[k[d+4>>2]>>2]=0;k[(k[n>>2]|0)+(e<<2)>>2]=d;e=a+28|0;if((k[e>>2]|0)>>>0<b>>>0)k[e>>2]=b}while(0);return d|0}function no(a){a=a|0;var b=0;if((a|0)!=0?(b=k[a+20>>2]|0,el(k[a>>2]|0),(k[b+12>>2]|0)!=0):0){b=(k[b>>2]|0)+16|0;k[b>>2]=(k[b>>2]|0)+-1}return}function oo(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=a+40|0;if(k[f>>2]|0){g=a+44|0;d=a+36|0;e=0;do{c=(k[g>>2]|0)+(e<<2)|0;a=k[c>>2]|0;a:do if(a)do{while(1){if((k[a+8>>2]|0)>>>0<b>>>0)break;k[d>>2]=(k[d>>2]|0)+-1;k[c>>2]=k[a+16>>2];if(!(i[a+12>>0]|0))lo(a);no(a);a=k[c>>2]|0;if(!a)break a}c=a+16|0;a=k[c>>2]|0}while((a|0)!=0);while(0);e=e+1|0}while(e>>>0<(k[f>>2]|0)>>>0)}return}function po(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=k[a>>2]|0;e=k[(k[d+32>>2]|0)+88>>2]|0;f=((e|0)<0)<<31>>31;if(!((f|0)<(c|0)|(f|0)==(c|0)&e>>>0<b>>>0)){b=vg(b,c)|0;if(!b){Wd(a);b=0}}else{k[a+20>>2]=18;i[a+25>>0]=1;ah(d,10096,-1,1,0)|0;b=0}return b|0}function qo(a){a=a|0;var b=0,c=0,d=0,e=0;do if(a){b=i[a>>0]|0;c=b<<24>>24;if((c|0)==91)e=93;else if((c|0)==96|(c|0)==34|(c|0)==39)e=b;else break;c=1;d=0;while(1){b=i[a+c>>0]|0;if(b<<24>>24==e<<24>>24){c=c+1|0;b=a+d|0;if((i[a+c>>0]|0)!=e<<24>>24)break;i[b>>0]=e}else i[a+d>>0]=b;c=c+1|0;d=d+1|0}i[b>>0]=0}while(0);return}function ro(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,n=0,o=0,q=0.0,t=0.0,u=0.0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0;Q=r;r=r+176|0;if((r|0)>=(s|0))ka();N=Q+64|0;n=Q+132|0;j=Q+128|0;h=Q+124|0;o=Q+56|0;K=Q+48|0;O=Q+136|0;M=Q;g=d+0|0;f=g+48|0;do{k[g>>2]=0;g=g+4|0}while((g|0)<(f|0));a:do if(b){e=k[c>>2]|0;b:do if(((l[10064+(m[e+8>>1]&31)>>0]|0)+-1|0)>>>0>=2){g=Xg(e,1)|0;if(!g){e=1;break a}f=(i[g>>0]|0)==45;e=f?g+1|0:g;k[N>>2]=4;k[N+4>>2]=0;k[N+8>>2]=9999;k[N+12>>2]=45;k[N+16>>2]=n;k[N+20>>2]=2;k[N+24>>2]=1;k[N+28>>2]=12;k[N+32>>2]=45;k[N+36>>2]=j;k[N+40>>2]=2;k[N+44>>2]=1;k[N+48>>2]=31;k[N+52>>2]=0;k[N+56>>2]=h;do if((wq(e,N)|0)==3){e=e+10|0;while(1){H=i[e>>0]|0;if(H<<24>>24==84?1:(i[10368+(H&255)>>0]&1)!=0)e=e+1|0;else break}if(xq(e,d)|0){if(i[e>>0]|0)break;i[d+41>>0]=0}i[d+42>>0]=0;i[d+40>>0]=1;H=k[n>>2]|0;k[d+8>>2]=f?0-H|0:H;k[d+12>>2]=k[j>>2];k[d+16>>2]=k[h>>2];if(!(i[d+43>>0]|0))break b;so(d);break b}while(0);if(xq(g,d)|0){if(!(id(g,20080)|0))if(!(vq(a,d)|0))break;else{e=1;break a}else e=g;while(1)if(!(i[e>>0]|0))break;else e=e+1|0;if(!(Yl(g,o,e-g&1073741823,1)|0)){e=1;break a}q=+p[o>>3]*864.0e5+.5;G=+W(q)>=1.0?(q>0.0?~~+ia(+V(q/4294967296.0),4294967295.0)>>>0:~~+ga((q-+(~~q>>>0))/4294967296.0)>>>0):0;H=d;k[H>>2]=~~q>>>0;k[H+4>>2]=G;i[d+42>>0]=1}}else{q=+Zg(e)*864.0e5+.5;G=+W(q)>=1.0?(q>0.0?~~+ia(+V(q/4294967296.0),4294967295.0)>>>0:~~+ga((q-+(~~q>>>0))/4294967296.0)>>>0):0;H=d;k[H>>2]=~~q>>>0;k[H+4>>2]=G;i[d+42>>0]=1}while(0);if((b|0)>1){e=d+40|0;v=d+41|0;w=d+43|0;x=d+42|0;y=O+8|0;z=y;A=O+9|0;B=d+24|0;C=d+20|0;D=d+32|0;E=d+16|0;F=d+12|0;G=O+1|0;H=d+8|0;I=1;while(1){j=Xg(k[c+(I<<2)>>2]|0,1)|0;if(!j){e=1;break a}k[N>>2]=1;o=0;do{n=i[j+o>>0]|0;if(!(n<<24>>24))break;i[O+o>>0]=i[9328+(n&255)>>0]|0;o=o+1|0}while((o|0)<29);i[O+o>>0]=0;c:do switch(i[O>>0]|0){case 108:{if(!(dw(O,19936)|0)){so(d);f=yq(d,a,N)|0;P=d;f=ow(k[P>>2]|0,k[P+4>>2]|0,f|0,L|0)|0;P=d;k[P>>2]=f;k[P+4>>2]=L;i[e>>0]=0;i[v>>0]=0;i[w>>0]=0;P=82}else P=82;break}case 117:{if((dw(O,19952)|0)==0?(i[x>>0]|0)!=0:0){f=d;f=ow(k[f>>2]|0,k[f+4>>2]|0,43200,0)|0;f=vw(f|0,L|0,86400,0)|0;f=ow(f|0,L|0,1045635584,49096)|0;o=d;k[o>>2]=f;k[o+4>>2]=L;i[e>>0]=0;i[v>>0]=0;i[w>>0]=0;k[N>>2]=0;o=0;break c}if(!(dw(O,19968)|0)){so(d);n=yq(d,a,N)|0;j=L;o=k[N>>2]|0;if(!o){f=d;f=iw(k[f>>2]|0,k[f+4>>2]|0,n|0,j|0)|0;P=d;k[P>>2]=f;k[P+4>>2]=L;i[e>>0]=0;i[v>>0]=0;i[w>>0]=0;P=yq(d,a,N)|0;P=iw(n|0,j|0,P|0,L|0)|0;f=d;f=ow(P|0,L|0,k[f>>2]|0,k[f+4>>2]|0)|0;P=d;k[P>>2]=f;k[P+4>>2]=L;P=82}}else P=82;break}case 115:{if(!(ew(O,19992,9)|0)){to(d);i[v>>0]=1;k[B>>2]=0;k[C>>2]=0;p[D>>3]=0.0;i[w>>0]=0;i[x>>0]=0;if(!(dw(A,20008)|0)){k[E>>2]=1;k[N>>2]=0;o=0;break c}if(!(dw(A,20016)|0)){to(d);k[F>>2]=1;k[E>>2]=1;k[N>>2]=0;o=0;break c}if(!(dw(A,20024)|0)){k[N>>2]=0;o=0}else P=82}else P=82;break}case 119:{if(!(ew(O,19976,8)|0)){o=y;while(1)if(!(i[o>>0]|0))break;else o=o+1|0;if((Yl(y,K,o-z&1073741823,1)|0)!=0?(q=+p[K>>3],J=~~q,+(J|0)==q&(J|0)>-1&q<7.0):0){to(d);uo(d);i[w>>0]=0;i[x>>0]=0;so(d);f=d;o=k[f>>2]|0;f=k[f+4>>2]|0;j=ow(o|0,f|0,1296e5,0)|0;j=vw(j|0,L|0,864e5,0)|0;j=ww(j|0,L|0,7,0)|0;g=L;R=((J|0)<0)<<31>>31;h=(g|0)>(R|0)|(g|0)==(R|0)&j>>>0>J>>>0;n=ow(j|0,g|0,-7,-1)|0;g=iw(J|0,R|0,(h?n:j)|0,(h?L:g)|0)|0;g=xw(g|0,L|0,864e5,0)|0;f=ow(g|0,L|0,o|0,f|0)|0;o=d;k[o>>2]=f;k[o+4>>2]=L;i[e>>0]=0;i[v>>0]=0;i[w>>0]=0;k[N>>2]=0;o=0}else P=82}else P=82;break}case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:case 45:case 43:{j=1;while(1){o=O+j|0;n=i[o>>0]|0;if(n<<24>>24==58|n<<24>>24==0){n=o;break}if(!(i[10368+(n&255)>>0]&1))j=j+1|0;else{n=o;break}}if(!(Yl(O,K,j,1)|0)){k[N>>2]=1;o=1;break c}o=i[n>>0]|0;if(o<<24>>24==58){o=((l[O>>0]|0)+-48|0)>>>0<10?O:G;g=M+0|0;f=g+48|0;do{k[g>>2]=0;g=g+4|0}while((g|0)<(f|0));if(xq(o,M)|0){P=82;break c}so(M);o=M;o=ow(k[o>>2]|0,k[o+4>>2]|0,-432e5,-1)|0;o=ww(o|0,L|0,864e5,0)|0;n=L;f=M;k[f>>2]=o;k[f+4>>2]=n;if((i[O>>0]|0)==45){o=iw(0,0,o|0,n|0)|0;n=L;f=M;k[f>>2]=o;k[f+4>>2]=n}so(d);i[e>>0]=0;i[v>>0]=0;i[w>>0]=0;f=d;f=ow(k[f>>2]|0,k[f+4>>2]|0,o|0,n|0)|0;o=d;k[o>>2]=f;k[o+4>>2]=L;k[N>>2]=0;o=0;break c}if(i[10368+(o&255)>>0]&1){n=O+(j+1)|0;while(1){o=i[n>>0]|0;if(!(i[10368+(o&255)>>0]&1))break;else n=n+1|0}}if(!(o<<24>>24))o=n;else{o=n;do o=o+1|0;while((i[o>>0]|0)!=0)}o=o-n&1073741823;if((o+-3|0)>>>0>7)P=82;else{j=o+-1|0;h=n+j|0;if((i[h>>0]|0)==115){i[h>>0]=0;o=j}so(d);k[N>>2]=0;t=+p[K>>3];u=t<0.0?-.5:.5;do if((o|0)==6){if(!(dw(n,20040)|0)){q=t*6.0e4+u;g=+W(q)>=1.0?(q>0.0?~~+ia(+V(q/4294967296.0),4294967295.0)>>>0:~~+ga((q-+(~~q>>>0))/4294967296.0)>>>0):0;f=d;g=ow(k[f>>2]|0,k[f+4>>2]|0,~~q>>>0|0,g|0)|0;f=d;k[f>>2]=g;k[f+4>>2]=L;break}if(!(dw(n,20048)|0)){q=t*1.0e3+u;g=+W(q)>=1.0?(q>0.0?~~+ia(+V(q/4294967296.0),4294967295.0)>>>0:~~+ga((q-+(~~q>>>0))/4294967296.0)>>>0):0;f=d;g=ow(k[f>>2]|0,k[f+4>>2]|0,~~q>>>0|0,g|0)|0;f=d;k[f>>2]=g;k[f+4>>2]=L}else P=80}else if((o|0)==5)if(!(dw(n,20008)|0)){to(d);uo(d);f=~~t;g=(k[F>>2]|0)+f|0;h=(((g|0)>0?-1:-12)+g|0)/12|0;k[H>>2]=(k[H>>2]|0)+h;g=(ha(h,-12)|0)+g|0;k[F>>2]=g;i[x>>0]=0;so(d);q=+(f|0);if(q!=t){q=u+(t-q)*30.0*864.0e5;g=+W(q)>=1.0?(q>0.0?~~+ia(+V(q/4294967296.0),4294967295.0)>>>0:~~+ga((q-+(~~q>>>0))/4294967296.0)>>>0):0;f=d;g=ow(k[f>>2]|0,k[f+4>>2]|0,~~q>>>0|0,g|0)|0;f=d;k[f>>2]=g;k[f+4>>2]=L}}else P=80;else if((o|0)==3)if(!(dw(n,20024)|0)){q=t*864.0e5+u;g=+W(q)>=1.0?(q>0.0?~~+ia(+V(q/4294967296.0),4294967295.0)>>>0:~~+ga((q-+(~~q>>>0))/4294967296.0)>>>0):0;f=d;g=ow(k[f>>2]|0,k[f+4>>2]|0,~~q>>>0|0,g|0)|0;f=d;k[f>>2]=g;k[f+4>>2]=L}else P=80;else if((o|0)==4){if(!(dw(n,20032)|0)){q=t*36.0e5+u;g=+W(q)>=1.0?(q>0.0?~~+ia(+V(q/4294967296.0),4294967295.0)>>>0:~~+ga((q-+(~~q>>>0))/4294967296.0)>>>0):0;f=d;g=ow(k[f>>2]|0,k[f+4>>2]|0,~~q>>>0|0,g|0)|0;f=d;k[f>>2]=g;k[f+4>>2]=L;break}if(!(dw(n,20016)|0)){f=~~t;to(d);uo(d);k[H>>2]=(k[H>>2]|0)+f;i[x>>0]=0;so(d);q=+(f|0);if(q!=t){q=u+(t-q)*365.0*864.0e5;g=+W(q)>=1.0?(q>0.0?~~+ia(+V(q/4294967296.0),4294967295.0)>>>0:~~+ga((q-+(~~q>>>0))/4294967296.0)>>>0):0;f=d;g=ow(k[f>>2]|0,k[f+4>>2]|0,~~q>>>0|0,g|0)|0;f=d;k[f>>2]=g;k[f+4>>2]=L}}else P=80}else P=80;while(0);if((P|0)==80)k[N>>2]=1;i[e>>0]=0;i[v>>0]=0;i[w>>0]=0;P=82}break}default:P=82}while(0);if((P|0)==82){P=0;o=k[N>>2]|0}I=I+1|0;if(o){e=1;break a}if((I|0)>=(b|0)){e=0;break a}}}else e=0}else e=vq(a,d)|0;while(0);r=Q;return e|0}function so(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0.0;f=a+42|0;if(!(i[f>>0]|0)){g=a+40|0;if(i[g>>0]|0){c=k[a+8>>2]|0;b=k[a+12>>2]|0;d=k[a+16>>2]|0;if((b|0)<3)e=4}else{d=1;b=1;c=2e3;e=4}if((e|0)==4){b=b+12|0;c=c+-1|0}m=(+(d+2+((c|0)/-100|0)+((c|0)/400|0)+(((c*36525|0)+172251900|0)/100|0)+(((b*306001|0)+306001|0)/1e4|0)|0)+-1524.5)*864.0e5;c=~~m>>>0;d=+W(m)>=1.0?(m>0.0?~~+ia(+V(m/4294967296.0),4294967295.0)>>>0:~~+ga((m-+(~~m>>>0))/4294967296.0)>>>0):0;b=a;k[b>>2]=c;k[b+4>>2]=d;i[f>>0]=1;b=a+41|0;if((i[b>>0]|0)!=0?(h=ha(k[a+20>>2]|0,36e5)|0,h=((k[a+24>>2]|0)*6e4|0)+h|0,m=+p[a+32>>3]*1.0e3,j=ow(~~m>>>0|0,(+W(m)>=1.0?(m>0.0?~~+ia(+V(m/4294967296.0),4294967295.0)>>>0:~~+ga((m-+(~~m>>>0))/4294967296.0)>>>0):0)|0,c|0,d|0)|0,h=ow(j|0,L|0,h|0,((h|0)<0)<<31>>31|0)|0,j=L,l=a,k[l>>2]=h,k[l+4>>2]=j,l=a+43|0,(i[l>>0]|0)!=0):0){d=(k[a+28>>2]|0)*6e4|0;d=iw(h|0,j|0,d|0,((d|0)<0)<<31>>31|0)|0;c=a;k[c>>2]=d;k[c+4>>2]=L;i[g>>0]=0;i[b>>0]=0;i[l>>0]=0}}return}function to(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;e=a+40|0;if(!(i[e>>0]|0)){if(!(i[a+42>>0]|0)){b=2e3;c=1;d=1}else{b=a;b=ow(k[b>>2]|0,k[b+4>>2]|0,432e5,0)|0;b=vw(b|0,L|0,864e5,0)|0;f=~~((+(b|0)+-1867216.25)/36524.25);f=b+1525+f+((f|0)/-4|0)|0;b=~~((+(f|0)+-122.1)/365.25);f=f-((b*36525|0)/100|0)|0;d=~~(+(f|0)/30.6001);c=((d|0)<14?-1:-13)+d|0;b=((c|0)>2?-4716:-4715)+b|0;d=f-~~(+(d|0)*30.6001)|0}k[a+16>>2]=d;k[a+12>>2]=c;k[a+8>>2]=b;i[e>>0]=1}return}function uo(a){a=a|0;var b=0,c=0.0,d=0,e=0,f=0;b=a+41|0;if(!(i[b>>0]|0)){so(a);f=a;f=ow(k[f>>2]|0,k[f+4>>2]|0,432e5,0)|0;f=ww(f|0,L|0,864e5,0)|0;c=+(f|0)/1.0e3;f=~~c;e=(f|0)/3600|0;k[a+20>>2]=e;e=(ha(e,-3600)|0)+f|0;d=(e|0)/60|0;k[a+24>>2]=d;c=c-+(f|0)+ +(e+(ha(d,-60)|0)|0);p[a+32>>3]=c;i[b>>0]=1}return}function vo(a){a=a|0;rg(k[a+52>>2]|0,a);return}function wo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;f=a+65|0;do if(!(i[f>>0]|0)){if(!b){e=rh(a,c,d)|0;break}if((k[a+276>>2]|0)>>>0<=b>>>0?(k[a+280>>2]|0)>>>0>b>>>0:0){f=a+248|0;if(!(0<d>>>0|(0==(d|0)?(m[f>>1]|0)>>>0<c>>>0:0))){e=b;break}e=rh(a,c,d)|0;if(!e){e=0;break}pw(e|0,b|0,m[f>>1]|0)|0;rg(a,b);break}if((Qc()|0)==0?(e=wg(b,c,d)|0,(e|0)!=0):0)break;i[f>>0]=1;e=0}else e=0;while(0);return e|0}function xo(a,b){a=a|0;b=b|0;var c=0,d=0;if(!a)a=0;else{d=k[a+4>>2]|0;k[d+4>>2]=k[a>>2];d=d+22|0;a=j[d>>1]|0;if((b|0)>-1){c=a&65535;a=c&65531;j[d>>1]=a;if(b){a=(c|4)&65535;j[d>>1]=a}}a=(a&65535)>>>2&1}return a|0}function yo(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=k[a+4>>2]|0;k[e+4>>2]=k[a>>2];e=k[e>>2]|0;c=b&3;if((c|0)!=1){d=i[e+12>>0]|0;a=e+7|0;i[a>>0]=d<<24>>24!=0&1;if((c|0)==3)d=d<<24>>24==0&1;else d=0}else{a=e+7|0;i[a>>0]=1;d=0}i[e+8>>0]=d;do if(!(i[a>>0]|0)){if(b&4){i[e+11>>0]=3;i[e+9>>0]=3;a=3;break}i[e+11>>0]=2;a=e+9|0;if(!(b&8)){i[a>>0]=2;a=2;break}else{i[a>>0]=3;a=2;break}}else{i[e+11>>0]=0;i[e+9>>0]=0;a=0}while(0);if(d<<24>>24)a=(a&255|32)&255;i[e+10>>0]=a;a=e+20|0;c=l[a>>0]|0;i[a>>0]=(b&16|0)==0?c|1:c&254;return}function zo(a){a=a|0;var b=0,c=0;c=a+12|0;b=k[c>>2]|0;if((b|0)>-1){go(a,b,27311);k[c>>2]=-1}$c(k[a+28>>2]|0);b=a+0|0;c=b+44|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(c|0));return}function Ao(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;h=e&131071;while(1){g=hb(a|0,b|0,0)|0;if(!((g|0)==(b|0)&(((g|0)<0)<<31>>31|0)==(c|0))){i=3;break}g=fc[k[47552+136>>2]&63](a,d,h)|0;if((g|0)>=0)break;e=Mb()|0;e=k[e>>2]|0;if((e|0)!=4){i=9;break}}if((i|0)==3)if(!f)g=-1;else{if((g|0)==-1){g=Mb()|0;g=k[g>>2]|0}else g=0;k[f>>2]=g;g=-1}else if((i|0)==9)if(f)k[f>>2]=e;return g|0}function Bo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=k[c>>2]|0;do if((d|0)>=0){b=b&255;if(!d){c=a+18|0;j[c>>1]=(m[c>>1]|0)&(b^65535);break}else{c=a+18|0;j[c>>1]=m[c>>1]|0|b;break}}else k[c>>2]=((m[a+18>>1]|0)&(b&255)|0)!=0&1;while(0);return}function Co(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+80|0;if((r|0)>=(s|0))ka();c=d;b=a+8|0;if(k[b>>2]|0)if(!(wc[k[47552+52>>2]&127](k[a+32>>2]|0,c)|0))b=(k[c+72>>2]|0)!=(k[(k[b>>2]|0)+4>>2]|0);else b=1;else b=0;r=d;return b&1|0}function Do(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;h=r;r=r+32|0;if((r|0)>=(s|0))ka();g=h;f=h+8|0;e=(k[(k[a+8>>2]|0)+20>>2]|0)+12|0;if((k[e>>2]|0)>-1){k[f+0>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;j[f>>1]=b;j[f+2>>1]=0;k[f+4>>2]=c;k[f+8>>2]=d;b=a+18|0;d=((j[b>>1]&512)>>>9)+13|0;c=k[11910]|0;e=k[e>>2]|0;k[g>>2]=f;e=(fc[c&63](e,d,g)|0)!=-1;j[b>>1]=(m[b>>1]|0)&65023;e=e?0:5}else e=0;r=h;return e|0}function Eo(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;h=k[(k[a+8>>2]|0)+20>>2]|0;if((h|0)!=0?(k[h+28>>2]|0)==0:0){b=mc[k[47552+292>>2]&7]()|0;if((b|0)<32768)d=1;else d=(b|0)/32768|0;e=h+20|0;if(!(j[e>>1]|0)){c=h+12|0;b=h+24|0}else{c=h+12|0;b=h+24|0;f=h+16|0;g=0;do{if((k[c>>2]|0)>-1)wc[k[47552+268>>2]&127](k[(k[b>>2]|0)+(g<<2)>>2]|0,k[f>>2]|0)|0;else $c(k[(k[b>>2]|0)+(g<<2)>>2]|0);g=g+d|0}while((g|0)<(m[e>>1]|0))}$c(k[b>>2]|0);b=k[c>>2]|0;if((b|0)>-1){go(a,b,29591);k[c>>2]=-1}k[(k[h>>2]|0)+20>>2]=0;$c(h)}return}function Fo(a){a=a|0;var b=0,c=0,d=0;c=(k[a+8>>2]|0)+28|0;b=k[c>>2]|0;if(b)do{d=b;b=k[b+8>>2]|0;go(a,k[d>>2]|0,26573);$c(d)}while((b|0)!=0);k[c>>2]=0;return}function Go(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;if((r|0)>=(s|0))ka();e=g;d=g+8|0;f=k[a+8>>2]|0;c=j[a+18>>1]|0;if(!(c&1))if((i[f+13>>0]|0)!=0&(c&2)==0)c=4;else c=7;else if(!(c&2))c=4;else c=7;if((c|0)==4){c=f+13|0;if(!(i[c>>0]|0)){j[d+2>>1]=0;k[d+4>>2]=(k[2514]|0)+2;k[d+8>>2]=510;j[d>>1]=1;h=k[11910]|0;b=k[a+12>>2]|0;k[e>>2]=d;b=fc[h&63](b,13,e)|0;if((b|0)>=0){i[c>>0]=1;c=f+24|0;k[c>>2]=(k[c>>2]|0)+1}}else b=0}else if((c|0)==7){d=k[11910]|0;c=k[a+12>>2]|0;k[e>>2]=b;b=fc[d&63](c,13,e)|0}r=g;return b|0}function Ho(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;do if(b){e=k[b>>2]|0;if(!e){k[b>>2]=1;k[b+4>>2]=c;f=9;break}g=b+4|0;d=k[g>>2]|0;k[b>>2]=e+1;k[g>>2]=c;if(d){k[c>>2]=d;d=d+4|0;k[c+4>>2]=k[d>>2];e=k[d>>2]|0;if(!e)k[a+8>>2]=c;else k[e>>2]=c;k[d>>2]=c}else f=9}else f=9;while(0);if((f|0)==9){d=a+8|0;e=k[d>>2]|0;k[c>>2]=e;if(e)k[e+4>>2]=c;k[c+4>>2]=0;k[d>>2]=c}return}function Io(a,b){a=a|0;b=b|0;var c=0,d=0;if(b){if((k[b>>2]|0)>0){c=0;d=b+8|0;while(1){rg(a,k[d+4>>2]|0);rg(a,k[d+8>>2]|0);rg(a,k[d+12>>2]|0);rg(a,k[d+64>>2]|0);pg(a,k[d+16>>2]|0);Rk(a,k[d+20>>2]|0,1);Lk(a,k[d+44>>2]|0);Mk(a,k[d+48>>2]|0);c=c+1|0;if((c|0)>=(k[b>>2]|0))break;else d=d+72|0}}rg(a,b)}return}function Jo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;c=Ko(a,c)|0;if((c|0)>0){d=a+12|0;pw((k[a+8>>2]|0)+(k[d>>2]|0)|0,b|0,c|0)|0;k[d>>2]=(k[d>>2]|0)+c}return}function Ko(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,n=0,o=0,p=0,q=0,r=0;f=a+25|0;do if(!(i[f>>0]|0)){d=i[a+24>>0]|0;if(!(d<<24>>24)){c=a+16|0;b=(k[c>>2]|0)+-1-(k[a+12>>2]|0)|0;i[f>>0]=2;k[c>>2]=0;break}g=a+8|0;e=k[g>>2]|0;e=(e|0)==(k[a+4>>2]|0)?0:e;h=a+12|0;o=k[h>>2]|0;c=((o|0)<0)<<31>>31;r=b+1|0;r=ow(o|0,c|0,r|0,((r|0)<0)<<31>>31|0)|0;p=L;c=ow(r|0,p|0,o|0,c|0)|0;o=L;l=k[a+20>>2]|0;n=((l|0)<0)<<31>>31;q=(o|0)>(n|0)|(o|0)==(n|0)&c>>>0>l>>>0;c=q?r:c;o=q?p:o;if((o|0)>(n|0)|(o|0)==(n|0)&c>>>0>l>>>0){mn(a);i[f>>0]=2;k[a+16>>2]=0;b=0;break}l=a+16|0;k[l>>2]=c;if(d<<24>>24==1)d=wo(k[a>>2]|0,e,c,((c|0)<0)<<31>>31)|0;else d=ad(e,c)|0;if(!d){mn(a);i[f>>0]=1;k[l>>2]=0;b=0;break}if((e|0)==0?(j=k[h>>2]|0,(j|0)>0):0)pw(d|0,k[g>>2]|0,j|0)|0;k[g>>2]=d;c=k[a>>2]|0;do if(!c)c=qc[k[8744+48>>2]&127](d)|0;else{if((k[c+276>>2]|0)>>>0<=d>>>0?(k[c+280>>2]|0)>>>0>d>>>0:0){c=m[c+248>>1]|0;break}c=qc[k[8744+48>>2]&127](d)|0}while(0);k[l>>2]=c}else b=0;while(0);return b|0}function Lo(a){a=a|0;var b=0,c=0;if((k[3154]|0)>=(a|0)?(b=k[3160]|0,(b|0)!=0):0){k[3160]=k[b>>2];c=k[3161]|0;k[3161]=c+-1;k[3162]=(c|0)<=(k[3156]|0)&1;k[2173]=a;if((k[2183]|0)>>>0<a>>>0)k[2183]=a;c=(k[2167]|0)+1|0;k[2167]=c;if(c>>>0>(k[2177]|0)>>>0)k[2177]=c}else{b=vg(a,((a|0)<0)<<31>>31)|0;if(b){c=qc[k[8744+48>>2]&127](b)|0;k[2173]=a;if((k[2183]|0)>>>0<a>>>0)k[2183]=a;c=(k[2168]|0)+c|0;k[2168]=c;if(c>>>0>(k[2178]|0)>>>0)k[2178]=c}else b=0}return b|0}function Mo(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;f=a+20|0;if(k[f>>2]|0){d=a+24|0;g=fc[k[8744+120>>2]&63](b,(k[d>>2]|0)+40|0,l[a+28>>0]|0)|0;if(!g)c=7;else{e=k[2217]|0;c=k[a+16>>2]|0;if((c|0)<=-1){h=xw(c|0,((c|0)<0)<<31>>31|0,-1024,-1)|0;c=(k[d>>2]|0)+(k[f>>2]|0)|0;c=vw(h|0,L|0,c|0,((c|0)<0)<<31>>31|0)|0}oc[e&15](g,c);c=a+40|0;d=k[c>>2]|0;if(d)hc[k[8744+148>>2]&31](d);k[c>>2]=g;k[a+44>>2]=0;k[f>>2]=b;c=0}}else c=0;return c|0}function No(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;if((r|0)>=(s|0))ka();e=g;d=k[a+208>>2]|0;if(((d|0)!=0?(j[d+40>>1]|0)>-1:0)?(c=k[d+72>>2]|0,(c|0)!=0):0){d=c;f=8}else f=4;do if((f|0)==4){d=e;k[d>>2]=0;k[d+4>>2]=0;d=k[a+60>>2]|0;c=k[d>>2]|0;if(!c){c=-1;d=-1}else{c=wc[k[c+24>>2]&127](d,e)|0;if(c)break;c=e;c=ow(k[c>>2]|0,k[c+4>>2]|0,-1,-1)|0;d=L}e=k[a+152>>2]|0;f=((e|0)<0)<<31>>31;d=ow(c|0,d|0,e|0,f|0)|0;d=vw(d|0,L|0,e|0,f|0)|0;f=8}while(0);if((f|0)==8){c=a+156|0;if(d>>>0>(k[c>>2]|0)>>>0)k[c>>2]=d;k[b>>2]=d;c=0}r=g;return c|0}function Oo(a){a=a|0;var b=0,c=0;c=a+64|0;if(!((i[a+7>>0]|0)==0?(b=k[c>>2]|0,b=wc[k[(k[b>>2]|0)+20>>2]&127](b,2)|0,(b|0)!=0):0)){b=k[c>>2]|0;b=wc[k[(k[b>>2]|0)+24>>2]&127](b,a+80|0)|0}return b|0}function Po(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=r;r=r+48|0;if((r|0)>=(s|0))ka();D=F+16|0;C=F+8|0;B=F+36|0;w=F;v=F+32|0;u=F+28|0;A=F+24|0;e=k[a>>2]|0;k[u>>2]=0;k[A>>2]=1;y=a+64|0;c=k[y>>2]|0;c=wc[k[(k[c>>2]|0)+24>>2]&127](c,w)|0;a:do if(!c){x=a+200|0;d=k[x>>2]|0;c=zq(k[y>>2]|0,d,(k[(k[a>>2]|0)+8>>2]|0)+1|0)|0;if(!c){if(!(i[d>>0]|0))c=0;else c=uc[k[e+32>>2]&31](e,d,0,A)|0;b:do if((c|0)==0&(k[A>>2]|0)!=0){t=a+72|0;p=t;k[p>>2]=0;k[p+4>>2]=0;p=a+148|0;g=a+152|0;l=a+80|0;n=a+24|0;d=0;q=b;c:while(1){do{c=w;c=Aq(a,b,k[c>>2]|0,k[c+4>>2]|0,v,u)|0;if((c|0)==101)break c;else if(c){E=27;break b}e=k[v>>2]|0;if((e|0)==-1){o=w;o=iw(k[o>>2]|0,k[o+4>>2]|0,k[p>>2]|0,0)|0;e=(k[g>>2]|0)+8|0;e=vw(o|0,L|0,e|0,((e|0)<0)<<31>>31|0)|0;k[v>>2]=e}if(!(e|b)){f=l;h=k[p>>2]|0;f=ow(h|0,0,k[f>>2]|0,k[f+4>>2]|0)|0;m=L;j=t;o=k[j>>2]|0;j=k[j+4>>2]|0;if((f|0)==(o|0)&(m|0)==(j|0)){j=w;j=iw(k[j>>2]|0,k[j+4>>2]|0,f|0,m|0)|0;e=(k[g>>2]|0)+8|0;e=vw(j|0,L|0,e|0,((e|0)<0)<<31>>31|0)|0;k[v>>2]=e;j=m}else f=o}else{f=t;h=k[p>>2]|0;j=k[f+4>>2]|0;f=k[f>>2]|0}if((f|0)==(h|0)&(j|0)==0){f=k[u>>2]|0;c=Gl(a,f)|0;if(c){E=25;break a}k[n>>2]=f}}while((e|0)==0);c=q;f=0;while(1){if(c)Cn(a);c=Bq(a,t,0,1,0)|0;if((c|0)==101)break;else if((c|0)==522)break c;else if(c){E=27;break b}d=d+1|0;f=f+1|0;if(f>>>0<e>>>0)c=0;else{q=0;continue c}}c=w;o=k[c+4>>2]|0;q=t;k[q>>2]=k[c>>2];k[q+4>>2]=o;q=0}i[a+18>>0]=i[a+12>>0]|0;u=d}else{d=0;E=27}while(0);if((E|0)==27){i[a+18>>0]=i[a+12>>0]|0;if(!c)u=d;else break}t=k[x>>2]|0;c=zq(k[y>>2]|0,t,(k[(k[a>>2]|0)+8>>2]|0)+1|0)|0;if(!c){if(((i[a+16>>0]|0)+-1&255)>2?(z=Ng(a,0)|0,(z|0)!=0):0){d=u;c=z;break}c=Hl(a,(i[t>>0]|0)!=0&1,0)|0;if(!c)if((i[t>>0]|0)!=0&(k[A>>2]|0)!=0){p=k[a>>2]|0;d=p+4|0;c=k[d>>2]<<1;q=vg(c,((c|0)<0)<<31>>31)|0;if(!q){d=u;c=7}else{kw(q|0,0,c|0)|0;n=q+(k[d>>2]|0)|0;o=p+24|0;c=yc[k[o>>2]&31](p,t,q,16385,0)|0;d:do if(!c){c=wc[k[(k[q>>2]|0)+24>>2]&127](q,C)|0;if(!c){l=(k[p+8>>2]|0)+1|0;d=C;d=ow(k[d>>2]|0,k[d+4>>2]|0,1,0)|0;d=ow(d|0,L|0,l|0,((l|0)<0)<<31>>31|0)|0;d=vg(d,L)|0;if(d){m=C;c=k[m>>2]|0;m=ow(c|0,k[m+4>>2]|0,1,0)|0;m=d+m|0;c=yc[k[(k[q>>2]|0)+8>>2]&31](q,d,c,0,0)|0;if(!c){i[d+(k[C>>2]|0)>>0]=0;g=d;A=C;z=k[A+4>>2]|0;if((z|0)>0|(z|0)==0&(k[A>>2]|0)>>>0>0){h=p+32|0;f=g;j=d;do{c=uc[k[h>>2]&31](p,j,0,B)|0;if(c){E=55;break d}do if(k[B>>2]|0){c=yc[k[o>>2]&31](p,j,n,2049,0)|0;if(c){E=55;break d}c=zq(n,m,l)|0;e=k[n>>2]|0;if(e){qc[k[e+4>>2]&127](n)|0;k[n>>2]=0}if(c){E=55;break d}if(!(i[m>>0]|0))break;if(!(dw(m,t)|0)){c=0;E=55;break d}}while(0);if(!j)e=1;else{e=j;while(1)if(!(i[e>>0]|0))break;else e=e+1|0;e=(e-f&1073741823)+1|0}j=j+e|0;f=j;z=f-g|0;x=((z|0)<0)<<31>>31;A=C;y=k[A+4>>2]|0}while((x|0)<(y|0)|((x|0)==(y|0)?z>>>0<(k[A>>2]|0)>>>0:0))}c=k[q>>2]|0;if(c){qc[k[c+4>>2]&127](q)|0;k[q>>2]=0}c=fc[k[p+28>>2]&63](p,t,0)|0;$c(d)}else E=55}else{c=7;d=0;E=55}}else{d=0;E=55}}else{d=0;E=55}while(0);if((E|0)==55)$c(d);d=k[q>>2]|0;if(d){qc[k[d+4>>2]&127](q)|0;k[q>>2]=0}$c(q);d=u}}else{d=u;c=0}else d=u}else d=u}else{d=0;E=25}}else{d=0;E=25}while(0);if((E|0)==25)i[a+18>>0]=i[a+12>>0]|0;if((b|0)!=0&(d|0)!=0){B=k[a+172>>2]|0;k[D>>2]=d;k[D+4>>2]=B;gd(539,14776,D)}Bp(a);r=F;return c|0}function Qo(a){a=a|0;var b=0,c=0;b=a+44|0;if(i[b>>0]|0){if(!(i[a+43>>0]|0)){c=k[a+4>>2]|0;uc[k[(k[c>>2]|0)+56>>2]&31](c,0,1,9)|0}i[b>>0]=0;i[a+47>>0]=0}b=a+40|0;c=j[b>>1]|0;if(c<<16>>16>-1){if(!(i[a+43>>0]|0)){a=k[a+4>>2]|0;uc[k[(k[a>>2]|0)+56>>2]&31](a,(c<<16>>16)+3|0,1,5)|0}j[b>>1]=-1}return}function Ro(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0,m=0,n=0;if((d|0)>5)if((d|0)>100)c=15;else{if((d|0)>9){d=d+-9|0;d=ha(d*39|0,d)|0}else d=1;e=k[a>>2]|0;wc[k[e+60>>2]&127](e,d)|0;e=6}else e=6;a:do if((e|0)==6){do if(!c){c=sq(a,b)|0;do if((c|0)==5){if(!(k[k[a+32>>2]>>2]|0)){c=-1;break a}b=a+43|0;if(i[b>>0]|0){c=-1;break a}d=a+4|0;c=k[d>>2]|0;c=uc[k[(k[c>>2]|0)+56>>2]&31](c,2,1,6)|0;if((c|0)==5){c=261;break a}else if(c)break;if(i[b>>0]|0){c=-1;break a}c=k[d>>2]|0;uc[k[(k[c>>2]|0)+56>>2]&31](c,2,1,5)|0;c=-1;break a}while(0);if(c)break a;d=a+32|0;g=(k[k[d>>2]>>2]|0)+96|0;b=a+52|0;if((k[g>>2]|0)==(k[a+68>>2]|0)){f=a+43|0;e=i[f>>0]|0;if(!(e<<24>>24)){c=k[a+4>>2]|0;c=uc[k[(k[c>>2]|0)+56>>2]&31](c,3,1,6)|0;e=i[f>>0]|0}else c=0;if(e<<24>>24!=2){n=k[a+4>>2]|0;hc[k[(k[n>>2]|0)+60>>2]&31](n)}if((c|0)==5){n=d;d=5;break}else if(c)break a;if(!(cw(k[k[d>>2]>>2]|0,b,48)|0)){j[a+40>>1]=0;c=0;break a}if(i[f>>0]|0){c=-1;break a}c=k[a+4>>2]|0;uc[k[(k[c>>2]|0)+56>>2]&31](c,3,1,5)|0;c=-1;break a}else{n=d;d=0}}else{g=a+32|0;n=g;g=(k[k[g>>2]>>2]|0)+96|0;d=0}while(0);m=a+68|0;b=k[g+8>>2]|0;f=b>>>0>(k[m>>2]|0)>>>0;b=f?0:b;f=f&1^1;e=k[g+12>>2]|0;if(b>>>0<=e>>>0){l=e>>>0>(k[m>>2]|0)>>>0;f=l?f:2;b=l?b:e}e=k[g+16>>2]|0;if(b>>>0<=e>>>0){l=e>>>0>(k[m>>2]|0)>>>0;f=l?f:3;b=l?b:e}e=k[g+20>>2]|0;if(b>>>0<=e>>>0){l=e>>>0>(k[m>>2]|0)>>>0;f=l?f:4;b=l?b:e}b:do if((i[a+46>>0]&2)==0?((f|0)==0?1:b>>>0<(k[m>>2]|0)>>>0):0){l=a+43|0;h=a+4|0;e=1;while(1){d=e+3|0;if(i[l>>0]|0){f=e;break}c=k[h>>2]|0;c=uc[k[(k[c>>2]|0)+56>>2]&31](c,d,1,10)|0;if(!c){f=e;break}else if((c|0)!=5)break a;e=e+1|0;if((e|0)>=5){d=5;break b}}e=k[m>>2]|0;k[g+(f<<2)+4>>2]=e;if(!(i[l>>0]|0)){b=k[h>>2]|0;uc[k[(k[b>>2]|0)+56>>2]&31](b,d,1,9)|0;b=e;d=0}else{b=e;d=0}}while(0);if(!f){c=(d|0)==5?-1:520;break}d=f+3|0;c=a+43|0;e=i[c>>0]|0;do if(!(e<<24>>24)){e=k[a+4>>2]|0;e=uc[k[(k[e>>2]|0)+56>>2]&31](e,d,1,6)|0;if(!e){e=i[c>>0]|0;break}else{c=(e|0)==5?-1:e;break a}}while(0);if(e<<24>>24!=2){m=k[a+4>>2]|0;hc[k[(k[m>>2]|0)+60>>2]&31](m)}if((k[g+(f<<2)+4>>2]|0)==(b|0)?(cw(k[k[n>>2]>>2]|0,a+52|0,48)|0)==0:0){j[a+40>>1]=f;c=0;break}if(!(i[c>>0]|0)){c=k[a+4>>2]|0;uc[k[(k[c>>2]|0)+56>>2]&31](c,d,1,5)|0;c=-1}else c=-1}while(0);return c|0}function So(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;c=a+56|0;ji(k[c>>2]|0);k[c>>2]=0;hp(a);c=k[a+208>>2]|0;if(!c){if(!(i[a+4>>0]|0)){d=a+60|0;c=k[d>>2]|0;b=k[c>>2]|0;if(!(((b|0)!=0?((qc[k[b+48>>2]&127](c)|0)&2048|0)!=0:0)?(i[a+5>>0]&5)==1:0))g=7;if((g|0)==7?(e=k[a+64>>2]|0,f=k[e>>2]|0,(f|0)!=0):0){qc[k[f+4>>2]&127](e)|0;k[e>>2]=0}b=k[d>>2]|0;c=k[b>>2]|0;if(c){if(!(i[a+13>>0]|0))b=wc[k[c+32>>2]&127](b,0)|0;else b=0;c=a+17|0;if((i[c>>0]|0)!=5)i[c>>0]=0;if((b|0)!=0?(i[a+16>>0]|0)==6:0)i[c>>0]=5}i[a+18>>0]=0;i[a+16>>0]=0}}else{Qo(c);i[a+16>>0]=0}b=a+40|0;if(k[b>>2]|0){Cn(a);i[a+18>>0]=i[a+12>>0]|0;i[a+16>>0]=0;k[b>>2]=0}b=a+72|0;i[a+19>>0]=0;k[b+0>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;return}function To(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=k[c+4>>2]|0;e=d+0|0;f=e+40|0;do{k[e>>2]=0;e=e+4|0}while((e|0)<(f|0));k[d>>2]=c;k[d+4>>2]=k[c>>2];e=d+40|0;k[d+8>>2]=e;kw(e|0,0,k[a+24>>2]|0)|0;k[d+28>>2]=a;k[d+20>>2]=b;return nl(a,b,c)|0}function Uo(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=r;r=r+16|0;if((r|0)>=(s|0))ka();f=i;g=Cq(a,b,f)|0;if(!g){h=k[f>>2]|0;if(!b){a=h+136|0;k[f>>2]=a;f=a;a=0}else{f=h;a=(b<<12)+-34|0}k[d>>2]=f+-4;k[c>>2]=h+16384;k[e>>2]=a}r=i;return g|0}function Vo(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=k[a+28>>2]|0;g=b&255;if(g&1){c=h+8|0;if((k[c>>2]|0)==(a|0)){b=a;do{b=k[b+36>>2]|0;if(!b){b=0;break}}while((j[b+24>>1]&4)!=0);k[c>>2]=b}b=a+32|0;d=k[b>>2]|0;e=(d|0)==0;f=a+36|0;c=k[f>>2]|0;if(e)k[h+4>>2]=c;else k[d+36>>2]=c;c=k[f>>2]|0;if(!c){k[h>>2]=d;if(e?(i[h+28>>0]|0)!=0:0)i[h+29>>0]=2}else k[c+32>>2]=d;k[b>>2]=0;k[f>>2]=0}if(g&2){b=k[h>>2]|0;k[a+32>>2]=b;if(!b){k[h+4>>2]=a;if(i[h+28>>0]|0)i[h+29>>0]=1}else k[b+36>>2]=a;k[h>>2]=a;b=h+8|0;if((k[b>>2]|0)==0?(j[a+24>>1]&4)==0:0)k[b>>2]=a}return}function Wo(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;if((r|0)>=(s|0))ka();e=g;c=b>>>3;d=c&255;i[a+5>>0]=d;b=b&-9;i[a+7>>0]=4-(c<<2);c=k[a+52>>2]|0;if((b|0)==2){i[a+2>>0]=0;i[a+3>>0]=0;i[a+4>>0]=0;j[a+10>>1]=j[c+24>>1]|0;j[a+12>>1]=j[c+26>>1]|0;f=5}else if((b|0)==5){i[a+2>>0]=1;i[a+3>>0]=d;i[a+4>>0]=d<<24>>24==0&1;j[a+10>>1]=j[c+28>>1]|0;j[a+12>>1]=j[c+30>>1]|0;f=5}else{k[e>>2]=54521;k[e+4>>2]=10788;gd(11,13600,e);b=11}if((f|0)==5){i[a+8>>0]=i[c+21>>0]|0;b=0}r=g;return b|0}function Xo(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;l=k[a+200>>2]|0;h=a+152|0;j=k[h>>2]|0;m=a+148|0;g=k[m>>2]|0;j=j>>>0>g>>>0?g:j;e=k[a+96>>2]|0;if((e|0)>0){d=k[a+92>>2]|0;c=a+72|0;f=0;do{b=d+(f*48|0)+8|0;n=b;if((k[n>>2]|0)==0&(k[n+4>>2]|0)==0){o=c;n=k[o+4>>2]|0;k[b>>2]=k[o>>2];k[b+4>>2]=n}f=f+1|0}while((f|0)<(e|0));f=c}else f=a+72|0;c=f;d=k[c>>2]|0;c=k[c+4>>2]|0;if((d|0)==0&(c|0)==0){d=0;c=0}else{d=ow(d|0,c|0,-1,-1)|0;d=vw(d|0,L|0,g|0,0)|0;d=ow(d|0,L|0,1,0)|0;d=xw(d|0,L|0,g|0,0)|0;c=L}g=f;k[g>>2]=d;k[g+4>>2]=c;g=a+80|0;k[g>>2]=d;k[g+4>>2]=c;if(((i[a+7>>0]|0)==0?(i[a+5>>0]|0)!=4:0)?(g=k[a+60>>2]|0,((qc[k[(k[g>>2]|0)+48>>2]&127](g)|0)&512|0)==0):0){d=l+0|0;c=d+12|0;do{i[d>>0]=0;d=d+1|0}while((d|0)<(c|0))}else{g=l;e=g;i[e>>0]=-117058087;i[e+1>>0]=-117058087>>8;i[e+2>>0]=-117058087>>16;i[e+3>>0]=-117058087>>24;g=g+4|0;i[g>>0]=-681336544;i[g+1>>0]=-681336544>>8;i[g+2>>0]=-681336544>>16;i[g+3>>0]=-681336544>>24;g=l+8|0;i[g>>0]=-1;i[g+1>>0]=-1>>8;i[g+2>>0]=-1>>16;i[g+3>>0]=-1>>24}c=a+48|0;hd(4,c);c=k[c>>2]|0;i[l+12>>0]=c>>>24;i[l+13>>0]=c>>>16;i[l+14>>0]=c>>>8;i[l+15>>0]=c;c=k[a+28>>2]|0;i[l+16>>0]=c>>>24;i[l+17>>0]=c>>>16;i[l+18>>0]=c>>>8;i[l+19>>0]=c;c=k[m>>2]|0;i[l+20>>0]=c>>>24;i[l+21>>0]=c>>>16;i[l+22>>0]=c>>>8;i[l+23>>0]=c;c=k[h>>2]|0;i[l+24>>0]=c>>>24;i[l+25>>0]=c>>>16;i[l+26>>0]=c>>>8;i[l+27>>0]=c;kw(l+28|0,0,j+-28|0)|0;c=a+64|0;d=0;while(1){if(d>>>0>=(k[m>>2]|0)>>>0){b=0;break}h=k[c>>2]|0;b=f;b=yc[k[(k[h>>2]|0)+12>>2]&31](h,l,j,k[b>>2]|0,k[b+4>>2]|0)|0;h=f;h=ow(k[h>>2]|0,k[h+4>>2]|0,j|0,0)|0;a=f;k[a>>2]=h;k[a+4>>2]=L;if(!b)d=d+j|0;else break}return b|0}function Yo(a){a=a|0;var b=0,c=0,d=0;b=a+24|0;d=m[b>>1]|0;c=d&65503;j[b>>1]=c;if(!(d&2)){j[b>>1]=c|2;Vo(a,2)}return}function Zo(a){a=a|0;var b=0,c=0,d=0;b=k[a+16>>2]|0;c=k[a+20>>2]|0;d=k[b+96>>2]|0;a:do if((d|0)>0){b=k[b+92>>2]|0;a=0;while(1){if((k[b+(a*48|0)+20>>2]|0)>>>0>=c>>>0?(ii(k[b+(a*48|0)+16>>2]|0,c)|0)==0:0){a=1;break a}a=a+1|0;if((a|0)>=(d|0)){a=0;break}}}else a=0;while(0);return a|0}function _o(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+16|0;if((r|0)>=(s|0))ka();j=o;m=k[a+16>>2]|0;c=i[m+5>>0]|0;a:do if(c<<24>>24!=2){l=m+68|0;d=k[l>>2]|0;do if(!(k[d>>2]|0)){if(c<<24>>24!=4?(i[m+21>>0]|0)==0:0){b=k[m>>2]|0;b=yc[k[b+24>>2]&31](b,0,d,8222,0)|0;if(!b)break;else break a}c=d+0|0;b=c+40|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(b|0));k[d>>2]=14696}while(0);d=k[a+4>>2]|0;h=m+52|0;e=m+152|0;f=(k[e>>2]|0)+4|0;f=xw(f|0,((f|0)<0)<<31>>31|0,k[h>>2]|0,0)|0;g=L;b=k[l>>2]|0;c=a+20|0;a=k[c>>2]|0;i[j>>0]=a>>>24;i[j+1>>0]=a>>>16;i[j+2>>0]=a>>>8;i[j+3>>0]=a;b=yc[k[(k[b>>2]|0)+12>>2]&31](b,j,4,f,g)|0;if(!b){j=k[l>>2]|0;l=k[e>>2]|0;b=ow(f|0,g|0,4,0)|0;b=yc[k[(k[j>>2]|0)+12>>2]&31](j,d,l,b,L)|0;if(!b){b=h;n=10}}}else{c=a+20|0;b=m+52|0;n=10}while(0);if((n|0)==10){k[b>>2]=(k[b>>2]|0)+1;b=ol(m,k[c>>2]|0)|0}r=o;return b|0}function $o(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+48|0;if((r|0)>=(s|0))ka();f=g;c=(a|0)!=0;a:do if(c&(b|0)!=0){c=f;while(1){e=k[b+20>>2]|0;d=a;a=c;while(1){a=a+12|0;if((k[d+20>>2]|0)>>>0>=e>>>0)break;k[a>>2]=d;a=k[d+12>>2]|0;if(!a){c=b;a=d;d=8;break a}else{c=d;d=a;a=c}}k[a>>2]=b;e=k[b+12>>2]|0;c=(d|0)!=0;if(c&(e|0)!=0){c=b;a=d;b=e}else{a=d;d=6;break}}}else{e=b;b=f;d=6}while(0);if((d|0)==6)if(c)k[b+12>>2]=a;else{c=e;a=b;d=8}do if((d|0)==8){a=a+12|0;if(!c){k[a>>2]=0;break}else{k[a>>2]=c;break}}while(0);r=g;return k[f+12>>2]|0}function ap(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;c=k[k[a+32>>2]>>2]|0;h=a+84|0;g=a+104|0;k[g>>2]=(k[g>>2]|0)+1;k[a+68>>2]=0;g=h+1|0;f=h+2|0;d=h+3|0;e=((l[g>>0]|0)<<16|(l[h>>0]|0)<<24|(l[f>>0]|0)<<8|(l[d>>0]|0))+1|0;i[h>>0]=e>>>24;i[g>>0]=e>>>16;i[f>>0]=e>>>8;i[d>>0]=e;k[a+88>>2]=b;ep(a);k[c+96>>2]=0;k[c+104>>2]=0;k[c+108>>2]=-1;k[c+112>>2]=-1;k[c+116>>2]=-1;return}function bp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,m=0,n=0,o=0;g=r;r=r+32|0;if((r|0)>=(s|0))ka();h=g;f=k[b+4>>2]|0;j=k[a>>2]|0;m=k[b+20>>2]|0;b=j+76|0;i[h>>0]=m>>>24;i[h+1>>0]=m>>>16;i[h+2>>0]=m>>>8;i[h+3>>0]=m;i[h+4>>0]=c>>>24;i[h+5>>0]=c>>>16;i[h+6>>0]=c>>>8;i[h+7>>0]=c;m=j+84|0;o=m;o=l[o>>0]|l[o+1>>0]<<8|l[o+2>>0]<<16|l[o+3>>0]<<24;m=m+4|0;m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24;c=h+8|0;n=c;i[n>>0]=o;i[n+1>>0]=o>>8;i[n+2>>0]=o>>16;i[n+3>>0]=o>>24;c=c+4|0;i[c>>0]=m;i[c+1>>0]=m>>8;i[c+2>>0]=m>>16;i[c+3>>0]=m>>24;c=(i[j+65>>0]|0)==0&1;Dq(c,h,8,b,b);Dq(c,f,k[j+36>>2]|0,b,b);c=k[b>>2]|0;i[h+16>>0]=c>>>24;i[h+17>>0]=c>>>16;i[h+18>>0]=c>>>8;i[h+19>>0]=c;c=k[j+80>>2]|0;i[h+20>>0]=c>>>24;i[h+21>>0]=c>>>16;i[h+22>>0]=c>>>8;i[h+23>>0]=c;c=Eq(a,h,24,d,e)|0;if(!c){m=k[a+20>>2]|0;c=ow(d|0,e|0,24,0)|0;c=Eq(a,f,m,c,L)|0}r=g;return c|0}function cp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+16|0;if((r|0)>=(s|0))ka();g=h+8|0;f=h;e=k[3164]|0;if(e)sc[e&3]();d=a+8|0;e=k[d>>2]|0;e=wc[k[(k[e>>2]|0)+24>>2]&127](e,f)|0;i=k[f+4>>2]|0;if((e|0)==0&((i|0)>(c|0)|((i|0)==(c|0)?(k[f>>2]|0)>>>0>b>>>0:0))){e=k[d>>2]|0;e=fc[k[(k[e>>2]|0)+16>>2]&63](e,b,c)|0}d=k[3166]|0;if(d)sc[d&3]();if(e){k[g>>2]=k[a+100>>2];gd(e,14816,g)}r=h;return}function dp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,l=0;l=r;r=r+32|0;if((r|0)>=(s|0))ka();g=l;e=l+16|0;i=l+12|0;h=l+8|0;k[e>>2]=0;k[i>>2]=0;k[h>>2]=0;d=Uo(a,(b+33|0)>>>12,h,i,e)|0;a:do if(!d){f=b-(k[e>>2]|0)|0;if((f|0)==1){d=k[i>>2]|0;b=d+4|0;kw(b|0,0,(k[h>>2]|0)+16384-b|0)|0}else d=k[i>>2]|0;if(k[d+(f<<2)>>2]|0)Fq(a);d=c*383&8191;b:do if(j[(k[h>>2]|0)+(d<<1)>>1]|0){b=k[h>>2]|0;e=f;while(1){if(!e)break;d=d+1&8191;if(!(j[b+(d<<1)>>1]|0))break b;else e=e+-1|0}k[g>>2]=49852;k[g+4>>2]=10788;gd(11,13600,g);d=11;break a}while(0);k[(k[i>>2]|0)+(f<<2)>>2]=c;j[(k[h>>2]|0)+(d<<1)>>1]=f;d=0}while(0);r=l;return d|0}function ep(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0;h=k[k[a+32>>2]>>2]|0;j=a+52|0;i[a+64>>0]=1;k[j>>2]=3007e3;g=a+92|0;e=3007e3;f=j;d=0;b=0;while(1){d=d+b+e|0;c=f+8|0;b=d+b+(k[f+4>>2]|0)|0;if(c>>>0>=g>>>0)break;e=k[c>>2]|0;f=c}k[g>>2]=d;k[a+96>>2]=b;b=h+48|0;c=j+0|0;d=b+48|0;do{i[b>>0]=i[c>>0]|0;b=b+1|0;c=c+1|0}while((b|0)<(d|0));if((i[a+43>>0]|0)!=2){b=k[a+4>>2]|0;hc[k[(k[b>>2]|0)+60>>2]&31](b)}b=h+0|0;c=j+0|0;d=b+48|0;do{i[b>>0]=i[c>>0]|0;b=b+1|0;c=c+1|0}while((b|0)<(d|0));return}function fp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;if(a)do{d=a+28|0;f=k[d>>2]|0;if(((f>>>0<7?(30>>>(f&127)&1)==0:0)?(k[a+16>>2]|0)>>>0>b>>>0:0)?(e=Fg(a,b,c,1)|0,(e|0)!=0):0)k[d>>2]=e;a=k[a+44>>2]|0}while((a|0)!=0);return}function gp(a){a=a|0;var b=0,c=0,d=0;a:do if(!(k[a+208>>2]|0)){c=a+176|0;d=a+180|0;while(1){b=kl(a,4)|0;if((b|0)!=5)break a;if(!(qc[k[c>>2]&127](k[d>>2]|0)|0)){b=5;break}}}else b=0;while(0);return b|0}function hp(a){a=a|0;var b=0,c=0,d=0,e=0;d=a+96|0;if((k[d>>2]|0)>0){b=a+92|0;c=0;do{ji(k[(k[b>>2]|0)+(c*48|0)+16>>2]|0);c=c+1|0}while((c|0)<(k[d>>2]|0))}c=k[a+68>>2]|0;b=k[c>>2]|0;if(!(i[a+4>>0]|0)){if(b)e=7}else if((b|0)==14696){b=14696;e=7}if((e|0)==7){qc[k[b+4>>2]&127](c)|0;k[c>>2]=0}b=a+92|0;$c(k[b>>2]|0);k[b>>2]=0;k[d>>2]=0;k[a+52>>2]=0;return}function ip(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=a+40|0;if(k[e>>2]|0){c=k[a>>2]|0;if(c)do{d=c;c=k[c+32>>2]|0;if((k[d+20>>2]|0)>>>0>b>>>0)Cl(d)}while((c|0)!=0);if(!b){b=k[a+44>>2]|0;if(!b)b=0;else{kw(k[b+4>>2]|0,0,k[a+20>>2]|0)|0;b=1}}oc[k[8744+144>>2]&15](k[e>>2]|0,b+1|0)}return}function jp(a,b){a=a|0;b=b|0;var c=0,d=0;do if(!b){c=a+43|0;if(!(i[c>>0]|0))c=0;else{i[c>>0]=0;d=k[a+4>>2]|0;if(!(uc[k[(k[d>>2]|0)+56>>2]&31](d,(j[a+40>>1]|0)+3|0,1,6)|0))c=(i[c>>0]|0)==0;else{i[c>>0]=1;c=0}c=c&1}}else{c=a+43|0;d=(i[c>>0]|0)==0;if((b|0)<=0){c=d&1;break}if(d){d=k[a+4>>2]|0;uc[k[(k[d>>2]|0)+56>>2]&31](d,(j[a+40>>1]|0)+3|0,1,5)|0}i[c>>0]=1;c=1}while(0);return c|0}function kp(a){a=a|0;var b=0,c=0,d=0,e=0;c=a+73|0;if((i[c>>0]|0)==2)i[c>>0]=1;else k[a+68>>2]=0;b=a+48|0;pm(a,b);do if(!(i[(k[a+120>>2]|0)+2>>0]|0)){d=b;d=vg(k[d>>2]|0,k[d+4>>2]|0)|0;if(d){b=Qm(a,0,k[b>>2]|0,d,0)|0;if(!b){k[a+56>>2]=d;e=9;break}else{$c(d);break}}else b=7}else e=9;while(0);if((e|0)==9){lp(a);i[c>>0]=3;b=0}c=a+72|0;i[c>>0]=l[c>>0]&251;return b|0}function lp(a){a=a|0;var b=0,c=0,d=0,e=0;b=a+76|0;if((j[b>>1]|0)>=0){e=0;while(1){c=a+(e<<2)+120|0;d=k[c>>2]|0;if(d)Gg(k[d+68>>2]|0);k[c>>2]=0;if((e|0)<(j[b>>1]|0))e=e+1|0;else break}}j[b>>1]=-1;return}function mp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0;m=r;r=r+16|0;if((r|0)>=(s|0))ka();j=m;f=m+8|0;if(b>>>0<2)h=0;else{h=b+-2|0;h=h-((h>>>0)%(((((k[a+36>>2]|0)>>>0)/5|0)+1|0)>>>0)|0)|0;h=((h+1|0)==(((k[2514]|0)>>>0)/((k[a+32>>2]|0)>>>0)|0|0)?3:2)+h|0}e=Eg(k[a>>2]|0,h,f,0)|0;do if(!e){f=k[f>>2]|0;g=k[f+4>>2]|0;e=(b-h|0)*5|0;a=e+-5|0;if((a|0)<0){if(f)Gg(f);k[j>>2]=53912;k[j+4>>2]=10788;gd(11,13600,j);e=11;break}i[c>>0]=i[g+a>>0]|0;if(d)k[d>>2]=(l[g+(e+-3)>>0]|0)<<16|(l[g+(e+-4)>>0]|0)<<24|(l[g+(e+-2)>>0]|0)<<8|(l[g+(e+-1)>>0]|0);if(f)Gg(f);if(((i[c>>0]|0)+-1&255)>4){k[j>>2]=53920;k[j+4>>2]=10788;gd(11,13600,j);e=11}else e=0}while(0);r=m;return e|0}function np(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=r;r=r+32|0;if((r|0)>=(s|0))ka();J=K;I=K+16|0;n=K+20|0;H=K+12|0;o=K+8|0;k[I>>2]=0;q=a+12|0;m=k[q>>2]|0;p=a+44|0;F=k[p>>2]|0;G=m+56|0;h=k[G>>2]|0;h=l[h+37>>0]<<16|l[h+36>>0]<<24|l[h+38>>0]<<8|l[h+39>>0];do if(h>>>0<F>>>0){if(!h){e=(i[a+19>>0]|0)==0&1;m=Lg(k[m+68>>2]|0)|0;if(m){f=m;break}n=k[p>>2]|0;h=n+1|0;k[p>>2]=h;g=a+32|0;m=k[g>>2]|0;if((n|0)==(((k[2514]|0)>>>0)/(m>>>0)|0|0)){h=n+2|0;k[p>>2]=h}if(i[a+17>>0]|0){if(h>>>0<2)n=0;else{n=h+-2|0;n=n-((n>>>0)%(((((k[a+36>>2]|0)>>>0)/5|0)+1|0)>>>0)|0)|0;n=((n+1|0)==(((k[2514]|0)>>>0)/(m>>>0)|0|0)?3:2)+n|0}if((n|0)==(h|0)){k[o>>2]=0;n=il(a,h,o,e)|0;if(n){f=n;break}F=k[o>>2]|0;n=F+68|0;m=Lg(k[n>>2]|0)|0;if(F)Gg(k[n>>2]|0);if(m){f=m;break}n=k[p>>2]|0;h=n+1|0;k[p>>2]=h;if((n|0)==(((k[2514]|0)>>>0)/((k[g>>2]|0)>>>0)|0|0)){h=n+2|0;k[p>>2]=h}}}g=k[(k[q>>2]|0)+56>>2]|0;i[g+28>>0]=h>>>24;i[g+29>>0]=h>>>16;i[g+30>>0]=h>>>8;i[g+31>>0]=h;g=k[p>>2]|0;k[c>>2]=g;g=il(a,g,b,e)|0;if(g){f=g;break}g=Lg(k[(k[b>>2]|0)+68>>2]|0)|0;if(g){f=k[b>>2]|0;if(!f){f=g;A=98}else{Gg(k[f+68>>2]|0);f=g;A=92}}}else{if(e<<24>>24==2)n=1;else if(e<<24>>24==1?F>>>0>=d>>>0:0){f=mp(a,d,n,0)|0;if(f)break;n=(i[n>>0]|0)==2&1}else n=0;f=Lg(k[m+68>>2]|0)|0;if(f)break;C=k[G>>2]|0;D=h+-1|0;i[C+36>>0]=D>>>24;i[C+37>>0]=D>>>16;i[C+38>>0]=D>>>8;i[C+39>>0]=D;C=a+36|0;D=(d|0)==0;E=a+60|0;B=e<<24>>24==2;g=0;a:while(1){t=(g|0)!=0;if(t){q=k[g+56>>2]|0;q=l[q+1>>0]<<16|l[q>>0]<<24|l[q+2>>0]<<8|l[q+3>>0]}else{q=k[G>>2]|0;q=l[q+33>>0]<<16|l[q+32>>0]<<24|l[q+34>>0]<<8|l[q+35>>0]}if(q>>>0>F>>>0){A=15;break}f=il(a,q,I,0)|0;if(f){A=17;break}h=k[I>>2]|0;u=h+56|0;y=k[u>>2]|0;z=y+4|0;v=y+5|0;w=y+6|0;x=y+7|0;A=l[v>>0]<<16|l[z>>0]<<24|l[w>>0]<<8|l[x>>0];o=n<<24>>24!=0;do if((A|0)!=0|o){if(A>>>0>(((k[C>>2]|0)>>>2)+-2|0)>>>0){f=h;A=22;break a}if(n<<24>>24!=0?(q|0)==(d|0)|q>>>0<d>>>0&B:0){k[c>>2]=q;k[b>>2]=h;f=Lg(k[h+68>>2]|0)|0;if(f){A=88;break a}do if(!A){if(!t){A=(k[G>>2]|0)+32|0;z=k[u>>2]|0;z=l[z>>0]|l[z+1>>0]<<8|l[z+2>>0]<<16|l[z+3>>0]<<24;i[A>>0]=z;i[A+1>>0]=z>>8;i[A+2>>0]=z>>16;i[A+3>>0]=z>>24;break}f=Lg(k[g+68>>2]|0)|0;if(f){A=88;break a}A=k[g+56>>2]|0;z=k[u>>2]|0;z=l[z>>0]|l[z+1>>0]<<8|l[z+2>>0]<<16|l[z+3>>0]<<24;i[A>>0]=z;i[A+1>>0]=z>>8;i[A+2>>0]=z>>16;i[A+3>>0]=z>>24}else{q=k[u>>2]|0;o=i[q+8>>0]|0;e=i[q+9>>0]|0;p=i[q+10>>0]|0;q=i[q+11>>0]|0;n=(e&255)<<16|(o&255)<<24|(p&255)<<8|q&255;if(n>>>0>F>>>0){f=h;A=32;break a}f=il(a,n,H,0)|0;if(f){A=88;break a}n=k[H>>2]|0;m=n+68|0;f=Lg(k[m>>2]|0)|0;if(f){A=35;break a}z=n+56|0;y=k[z>>2]|0;x=k[u>>2]|0;x=l[x>>0]|l[x+1>>0]<<8|l[x+2>>0]<<16|l[x+3>>0]<<24;i[y>>0]=x;i[y+1>>0]=x>>8;i[y+2>>0]=x>>16;i[y+3>>0]=x>>24;y=k[z>>2]|0;A=A+-1|0;i[y+4>>0]=A>>>24;i[y+5>>0]=A>>>16;i[y+6>>0]=A>>>8;i[y+7>>0]=A;pw((k[z>>2]|0)+8|0,(k[u>>2]|0)+12|0,A<<2|0)|0;if(n)Gg(k[m>>2]|0);if(!t){A=k[G>>2]|0;i[A+32>>0]=o;i[A+33>>0]=e;i[A+34>>0]=p;i[A+35>>0]=q;break}f=Lg(k[g+68>>2]|0)|0;if(f){A=88;break a}A=k[g+56>>2]|0;i[A>>0]=o;i[A+1>>0]=e;i[A+2>>0]=p;i[A+3>>0]=q}while(0);k[I>>2]=0;h=0;f=0;n=0;break}if(A){b:do if(!D){if(B){e=0;while(1){u=e<<2;if((l[y+(u+9)>>0]<<16|l[y+(u+8)>>0]<<24|l[y+(u+10)>>0]<<8|l[y+(u+11)>>0])>>>0<=d>>>0)break b;e=e+1|0;if(e>>>0>=A>>>0){e=0;break b}}}m=(l[y+9>>0]<<16|l[y+8>>0]<<24|l[y+10>>0]<<8|l[y+11>>0])-d|0;if((m|0)<=-1)m=(m|0)==-2147483648?2147483647:0-m|0;if(A>>>0>1){e=0;p=1;while(1){f=p<<2;f=(l[y+(f+9)>>0]<<16|l[y+(f+8)>>0]<<24|l[y+(f+10)>>0]<<8|l[y+(f+11)>>0])-d|0;if((f|0)<=-1)f=(f|0)==-2147483648?2147483647:0-f|0;q=(f|0)<(m|0);e=q?p:e;p=p+1|0;if((p|0)==(A|0))break;else m=q?f:m}}else e=0}else e=0;while(0);m=e<<2;q=y+(m+8)|0;m=l[y+(m+9)>>0]<<16|l[q>>0]<<24|l[y+(m+10)>>0]<<8|l[y+(m+11)>>0];if(m>>>0>F>>>0){f=h;A=56;break a}if((m|0)==(d|0)|o^1|m>>>0<d>>>0&B){k[c>>2]=m;f=Lg(k[h+68>>2]|0)|0;if(f){A=88;break a}n=A+-1|0;if(e>>>0<n>>>0){A=y+((A<<2)+4)|0;A=l[A>>0]|l[A+1>>0]<<8|l[A+2>>0]<<16|l[A+3>>0]<<24;i[q>>0]=A;i[q+1>>0]=A>>8;i[q+2>>0]=A>>16;i[q+3>>0]=A>>24}i[z>>0]=n>>>24;i[v>>0]=n>>>16;i[w>>0]=n>>>8;i[x>>0]=n;m=k[c>>2]|0;n=k[E>>2]|0;do if(!n)n=0;else{if((k[n>>2]|0)>>>0<m>>>0){n=1;break}n=(ii(n,m)|0)!=0}while(0);f=il(a,m,b,n&1^1)|0;if(f){n=0;break}f=Lg(k[(k[b>>2]|0)+68>>2]|0)|0;if(!f){f=0;n=0;break}n=k[b>>2]|0;if(!n){n=0;break}Gg(k[n+68>>2]|0);n=0}else f=0}else f=0}else{f=Lg(k[h+68>>2]|0)|0;if(f){A=89;break a}k[c>>2]=q;f=(k[G>>2]|0)+32|0;n=k[u>>2]|0;n=l[n>>0]|l[n+1>>0]<<8|l[n+2>>0]<<16|l[n+3>>0]<<24;i[f>>0]=n;i[f+1>>0]=n>>8;i[f+2>>0]=n>>16;i[f+3>>0]=n>>24;k[b>>2]=h;k[I>>2]=0;h=0;f=0;n=0}while(0);if(g)Gg(k[g+68>>2]|0);if(!(n<<24>>24)){g=0;A=88;break}else g=h}if((A|0)==15){k[J>>2]=58314;k[J+4>>2]=10788;gd(11,13600,J);f=11;A=17}else if((A|0)==22){k[J>>2]=58343;k[J+4>>2]=10788;gd(11,13600,J);h=f;f=11;A=88}else if((A|0)==32){k[J>>2]=58377;k[J+4>>2]=10788;gd(11,13600,J);h=f;f=11;A=88}else if((A|0)==35)if(!n)A=88;else{Gg(k[m>>2]|0);A=88}else if((A|0)==56){k[J>>2]=58442;k[J+4>>2]=10788;gd(11,13600,J);h=f;f=11;A=88}if((A|0)==17)k[I>>2]=0;else if((A|0)==88)if(h)A=89;if((A|0)==89)Gg(k[h+68>>2]|0);if(!g)A=92;else{Gg(k[g+68>>2]|0);A=92}}if((A|0)==92?(f|0)!=0:0)A=98;if((A|0)==98){k[b>>2]=0;break}f=k[b>>2]|0;g=k[f+68>>2]|0;if((j[g+26>>1]|0)<=1){i[f>>0]=0;f=0;break}if(f)Gg(g);k[b>>2]=0;k[J>>2]=58541;k[J+4>>2]=10788;gd(11,13600,J);f=11}else{k[J>>2]=58259;k[J+4>>2]=10788;gd(11,13600,J);f=11}while(0);r=K;return f|0}function op(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0,w=0,x=0,y=0;y=r;r=r+16|0;if((r|0)>=(s|0))ka();t=y+12|0;q=y+8|0;x=y;d=k[a+40>>2]|0;a:do if(!d){f=a+96|0;e=k[f>>2]|0;if((e|0)>(c|0)){d=(b|0)==1;c=(d&1^1)+c|0;if((c|0)<(e|0)){b=a+92|0;e=c;do{ji(k[(k[b>>2]|0)+(e*48|0)+16>>2]|0);e=e+1|0}while((e|0)<(k[f>>2]|0))}k[f>>2]=c;if(d){if(c){d=0;break}d=k[a+68>>2]|0;e=k[d>>2]|0;if(!e){d=0;break}if((e|0)==14696)d=Li(d,0,0)|0;else d=0;k[a+52>>2]=0;break}p=a+208|0;if((k[p>>2]|0)==0?(k[k[a+64>>2]>>2]|0)==0:0){d=0;break}if(!c)u=0;else u=(k[a+92>>2]|0)+((c+-1|0)*48|0)|0;o=(u|0)!=0;d=u+20|0;if(o){b=k[d>>2]|0;e=vg(512,0)|0;if(!e){d=7;break}kw(e|0,0,512)|0;k[e>>2]=b;w=e}else w=0;f=a+28|0;c=a+24|0;k[c>>2]=k[(o?d:f)>>2];i[a+18>>0]=i[a+12>>0]|0;b:do if(o){f=a+72|0;c=f;g=k[c>>2]|0;c=k[c+4>>2]|0;if(!(k[p>>2]|0)){e=u+8|0;h=k[e>>2]|0;e=k[e+4>>2]|0;b=(h|0)==0&(e|0)==0;h=b?g:h;e=b?c:e;b=u;d=k[b>>2]|0;b=k[b+4>>2]|0;m=f;k[m>>2]=d;k[m+4>>2]=b;if((b|0)<(e|0)|(b|0)==(e|0)&d>>>0<h>>>0)while(1){d=Bq(a,f,w,1,1)|0;if(d){l=g;j=c;break b}b=f;d=k[b>>2]|0;b=k[b+4>>2]|0;if(!((b|0)<(e|0)|(b|0)==(e|0)&d>>>0<h>>>0)){v=39;break}}else v=39}else v=38}else{n=k[p>>2]|0;if(!n){f=a+72|0;c=f;g=k[c>>2]|0;c=k[c+4>>2]|0;v=38;break}k[c>>2]=k[f>>2];if(i[n+44>>0]|0){g=n+68|0;j=k[g>>2]|0;h=n+32|0;c=k[h>>2]|0;e=n+52|0;d=(k[c>>2]|0)+0|0;b=e+48|0;do{i[e>>0]=i[d>>0]|0;e=e+1|0;d=d+1|0}while((e|0)<(b|0));e=k[g>>2]|0;d=e+1|0;if(d>>>0>j>>>0)d=0;else{f=d;while(1){e=e+34|0;d=e>>>12;if(!d)e=(k[c>>2]|0)+(e<<2)|0;else e=(k[c+(d<<2)>>2]|0)+((e&4095)<<2)|0;d=Gq(a,k[e>>2]|0)|0;e=f+1|0;if((d|0)!=0|e>>>0>j>>>0)break;m=f;c=k[h>>2]|0;f=e;e=m}e=k[g>>2]|0}if((j|0)!=(e|0))Fq(n)}else d=0;e=Al(k[a+204>>2]|0)|0;if(!((e|0)!=0&(d|0)==0))break a;while(1){d=e;e=k[e+12>>2]|0;d=Gq(a,k[d+20>>2]|0)|0;if(!((e|0)!=0&(d|0)==0))break a}}while(0);if((v|0)==38){b=f;k[b>>2]=0;k[b+4>>2]=0;b=0;d=0;v=39}c:do if((v|0)==39){l=a+80|0;m=a+148|0;n=a+152|0;if((b|0)<(c|0)|(b|0)==(c|0)&d>>>0<g>>>0)while(1){k[t>>2]=0;d=Aq(a,0,g,c,t,q)|0;b=k[t>>2]|0;if(!b){b=l;b=ow(k[m>>2]|0,0,k[b>>2]|0,k[b+4>>2]|0)|0;e=L;j=f;if((b|0)==(k[j>>2]|0)?(e|0)==(k[j+4>>2]|0):0){v=iw(g|0,c|0,b|0,e|0)|0;b=(k[n>>2]|0)+8|0;b=vw(v|0,L|0,b|0,((b|0)<0)<<31>>31|0)|0;k[t>>2]=b;v=46}else v=40}else v=46;d:do if((v|0)==46){v=0;if((d|0)==0&(b|0)!=0){j=0;while(1){e=f;h=k[e>>2]|0;e=k[e+4>>2]|0;if(!((e|0)<(c|0)|(e|0)==(c|0)&h>>>0<g>>>0)){b=h;break d}d=Bq(a,f,w,1,1)|0;j=j+1|0;if(!((d|0)==0&j>>>0<b>>>0)){v=40;break}}}else v=40}while(0);if((v|0)==40){v=0;if(d){l=g;j=c;break c}b=f;e=k[b+4>>2]|0;b=k[b>>2]|0}if(!((e|0)<(c|0)|(e|0)==(c|0)&b>>>0<g>>>0)){l=g;j=c;d=0;break}}else{l=g;j=c;d=0}}while(0);e:do if(!o){ji(w);if(d)break a}else{h=u+24|0;e=k[h>>2]|0;m=(k[a+152>>2]|0)+4|0;m=xw(m|0,((m|0)<0)<<31>>31|0,e|0,0)|0;g=x;k[g>>2]=m;k[g+4>>2]=L;g=k[p>>2]|0;if(!g){if(!d)v=57}else{c=u+28|0;b=u+40|0;d=g+104|0;if((k[b>>2]|0)==(k[d>>2]|0))b=k[c>>2]|0;else{k[c>>2]=0;k[b>>2]=k[d>>2];b=0}c=g+68|0;if(b>>>0<(k[c>>2]|0)>>>0){k[c>>2]=b;k[g+76>>2]=k[u+32>>2];k[g+80>>2]=k[u+36>>2];Fq(g);e=k[h>>2]|0;v=57}else v=57}f:do if((v|0)==57){b=a+52|0;while(1){if(e>>>0>=(k[b>>2]|0)>>>0)break;d=Bq(a,x,w,0,1)|0;if(!d)e=e+1|0;else break f}ji(w);break e}while(0);ji(w);break a}while(0);d=f;k[d>>2]=l;k[d+4>>2]=j;d=0}else d=0}while(0);r=y;return d|0}function pp(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;b=k[a>>2]|0;if(b){f=k[a+4>>2]|0;k[(k[b+4>>2]|0)+4>>2]=k[b>>2];d=a+56|0;$c(k[d>>2]|0);k[d>>2]=0;i[a+73>>0]=0;d=k[a+12>>2]|0;c=a+8|0;b=k[c>>2]|0;if(!d)k[f+8>>2]=b;else{k[d+8>>2]=b;b=k[c>>2]|0}if(b)k[b+12>>2]=d;e=a+76|0;b=j[e>>1]|0;if(b<<16>>16>=0){c=0;while(1){d=k[a+(c<<2)+120>>2]|0;if(d){Gg(k[d+68>>2]|0);b=j[e>>1]|0}if((c|0)<(b<<16>>16|0))c=c+1|0;else break}}if((i[f+20>>0]|0)==0?(g=f+12|0,h=k[g>>2]|0,(h|0)!=0):0){k[g>>2]=0;Gg(k[h+68>>2]|0)}$c(k[a+20>>2]|0)}return}function qp(a){a=a|0;var b=0,c=0,d=0,e=0;e=k[a+200>>2]|0;b=k[3164]|0;if(b)sc[b&3]();c=k[a+136>>2]|0;if(c)do{b=c;c=k[c+12>>2]|0;$c(b)}while((c|0)!=0);i[a+4>>0]=0;b=a+208|0;wn(k[b>>2]|0,l[a+9>>0]|0,k[a+152>>2]|0,e)|0;k[b>>2]=0;Cn(a);if(!(i[a+15>>0]|0)){if((k[k[a+64>>2]>>2]|0)!=0?(d=Oo(a)|0,b=d&255,(b|0)==10|(b|0)==13):0){k[a+40>>2]=d;i[a+16>>0]=6}sl(a)}else So(a);b=k[3166]|0;if(b)sc[b&3]();b=k[a+64>>2]|0;c=k[b>>2]|0;if(c){qc[k[c+4>>2]&127](b)|0;k[b>>2]=0}c=k[a+60>>2]|0;b=k[c>>2]|0;if(b){qc[k[b+4>>2]&127](c)|0;k[c>>2]=0}el(e);hc[k[8744+148>>2]&31](k[(k[a+204>>2]|0)+40>>2]|0);$c(a);return}function rp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;f=k[a+4>>2]|0;g=vg(f,((f|0)<0)<<31>>31)|0;do if(g){kw(g|0,0,f|0)|0;f=yc[k[a+24>>2]&31](a,b,g,d&556927,e)|0;if(!f){k[c>>2]=g;f=0;break}else{$c(g);break}}else f=7;while(0);return f|0}function sp(a){a=a|0;var b=0,c=0,d=0;b=a+16|0;c=a+12|0;d=a+10|0;if(!(Yl(k[b>>2]|0,a,k[c>>2]|0,i[d>>0]|0)|0))b=0;else{b=(Zl(k[b>>2]|0,a,k[c>>2]|0,i[d>>0]|0)|0)==0;b=b?4:8}return b|0}function tp(a){a=a|0;var b=0,c=0,d=0.0;c=a+8|0;b=j[c>>1]|0;do if(!(b&13))if(!(Zl(k[a+16>>2]|0,a,k[a+12>>2]|0,i[a+10>>0]|0)|0)){b=((m[c>>1]|0)&48640|4)&65535;j[c>>1]=b;break}else{d=+Zg(a);p[a>>3]=d;j[c>>1]=(m[c>>1]|0)&48640|8;im(a);b=j[c>>1]|0;break}while(0);j[c>>1]=b&65517;return}function up(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0,t=0;t=r;r=r+80|0;if((r|0)>=(s|0))ka();p=t+40|0;q=t;e=c+4|0;if((i[a+10>>0]|0)!=(i[e>>0]|0)){o=k[a+32>>2]|0;l=p+8|0;j[l>>1]=1;k[p+32>>2]=o;m=p+24|0;k[m>>2]=0;n=q+8|0;j[n>>1]=1;k[q+32>>2]=o;o=q+24|0;k[o>>2]=0;cm(p,a,4096);cm(q,b,4096);a=Xg(p,i[e>>0]|0)|0;h=(a|0)==0;if(h)g=0;else g=k[p+12>>2]|0;e=Xg(q,i[e>>0]|0)|0;f=(e|0)==0;if(f)b=0;else b=k[q+12>>2]|0;a=yc[k[c+12>>2]&31](k[c+8>>2]|0,g,a,b,e)|0;if(!((j[l>>1]&9312)==0&(k[m>>2]|0)==0))Vg(p);if(!((j[n>>1]&9312)==0&(k[o>>2]|0)==0))Vg(q);if((h|f)&(d|0)!=0)i[d>>0]=7}else a=yc[k[c+12>>2]&31](k[c+8>>2]|0,k[a+12>>2]|0,k[a+16>>2]|0,k[b+12>>2]|0,k[b+16>>2]|0)|0;r=t;return a|0}function vp(a,b){a=a|0;b=b|0;var c=0,d=0;d=k[a+12>>2]|0;c=k[b+12>>2]|0;a=cw(k[a+16>>2]|0,k[b+16>>2]|0,(d|0)>(c|0)?c:d)|0;return ((a|0)==0?d-c|0:a)|0}function wp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;if((r|0)>=(s|0))ka();g=h;do if(!(i[a+3>>0]|0)){if(i[a+4>>0]|0){e=((xp(b+4|0,c)|0)&255)+4&65535;j[c+20>>1]=e;e=c+8|0;k[e+0>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;break}f=l[a+7>>0]|0;e=b+f|0;d=i[e>>0]|0;if(d<<24>>24>-1){e=d&255;k[g>>2]=e;d=1}else{d=rm(e,g)|0;e=k[g>>2]|0}g=c;k[g>>2]=e;k[g+4>>2]=0;f=(d&255)+f|0;d=12}else{d=i[b>>0]|0;if(d<<24>>24>-1){e=d&255;k[g>>2]=e;d=1}else{d=rm(b,g)|0;e=k[g>>2]|0}f=d&255;f=((xp(b+f|0,c)|0)&255)+f|0;d=12}while(0);do if((d|0)==12){k[c+12>>2]=e;k[c+8>>2]=b+f;d=m[a+10>>1]|0;if(e>>>0>d>>>0){g=j[a+12>>1]|0;b=g&65535;e=(((e-b|0)>>>0)%(((k[(k[a+52>>2]|0)+36>>2]|0)+-4|0)>>>0)|0)+b|0;d=(e|0)>(d|0)?g:e&65535;j[c+16>>1]=d;d=f+(d&65535)|0;j[c+18>>1]=d;j[c+20>>1]=d+4;break}else{d=e+f|0;j[c+20>>1]=(d&65532)>>>0<4?4:d&65535;j[c+16>>1]=e;j[c+18>>1]=0;break}}while(0);r=h;return}function xp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;c=i[a>>0]|0;d=c&255;do if(d&128){c=l[a+1>>0]|0;if(!(c&128)){e=b;k[e>>2]=c|d<<7&16256;k[e+4>>2]=0;c=2;break}e=l[a+2>>0]|0;d=(e|d<<14)&2080895;if(!(e&128)){e=b;k[e>>2]=d|c<<7&16256;k[e+4>>2]=0;c=3;break}e=l[a+3>>0]|0;c=(e|c<<14)&2080895;if(!(e&128)){e=b;k[e>>2]=c|d<<7;k[e+4>>2]=0;c=4;break}h=l[a+4>>0]|0;e=h|d<<14;if(!(h&128)){f=b;k[f>>2]=e|c<<7;k[f+4>>2]=d>>>18;c=5;break}g=c|d<<7;d=l[a+5>>0]|0;f=d|c<<14;if(!(d&128)){c=b;k[c>>2]=f|e<<7&266354560;k[c+4>>2]=g>>>18;c=6;break}c=l[a+6>>0]|0;d=c|e<<14;if(!(c&128)){c=b;k[c>>2]=d&-266354561|f<<7&266354560;k[c+4>>2]=g>>>11;c=7;break}c=d&2080895;e=l[a+7>>0]|0;d=e|f<<14;if(!(e&128)){e=b;k[e>>2]=d&-266354561|c<<7;k[e+4>>2]=g>>>4;c=8;break}else{e=b;k[e>>2]=d<<8&532709120|c<<15|(l[a+8>>0]|0);k[e+4>>2]=h>>>3&15|g<<4;c=9;break}}else{d=b;k[d>>2]=c&255;k[d+4>>2]=0;c=1}while(0);return c|0}function yp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=r;r=r+16|0;if((r|0)>=(s|0))ka();e=g+8|0;f=g;d=(l[a+1>>0]|0)<<16|(l[a>>0]|0)<<24|(l[a+2>>0]|0)<<8|(l[a+3>>0]|0);a=(l[a+5>>0]|0)<<16|(l[a+4>>0]|0)<<24|(l[a+6>>0]|0)<<8|(l[a+7>>0]|0);h=c;k[h>>2]=a;k[h+4>>2]=d;if((b|0)==6)a=4;else{k[t>>2]=a;k[t+4>>2]=d;p[e>>3]=+p[t>>3];p[f>>3]=+p[e>>3];a=+p[e>>3]!=+p[f>>3]?1:8}j[c+8>>1]=a;r=g;return}function zp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;if((r|0)>=(s|0))ka();f=g;if(!(c>>>0>16777215|(c|0)==16777215&b>>>0>4294967295)){d=b;e=0;while(1){b=e+1|0;i[f+e>>0]=d|128;d=rw(d|0,c|0,7)|0;c=L;if((d|0)==0&(c|0)==0){c=e;break}else e=b}i[f>>0]=(l[f>>0]|0)&127;if((c|0)>-1){d=0;while(1){i[a+d>>0]=i[f+c>>0]|0;if((c|0)>0){d=d+1|0;c=c+-1|0}else break}}}else{i[a+8>>0]=b;b=rw(b|0,c|0,8)|0;d=L;c=7;while(1){i[a+c>>0]=b|128;b=rw(b|0,d|0,7)|0;if((c|0)<=0){b=9;break}else{d=L;c=c+-1|0}}}r=g;return b|0}function Ap(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;g=r;r=r+16|0;if((r|0)>=(s|0))ka();f=g;if((k[a+44>>2]|0)>>>0>=b>>>0){d=il(a,b,c,d)|0;if(!d){d=k[c>>2]|0;if((i[d>>0]|0)==0?(e=eq(d)|0,(e|0)!=0):0){d=k[c>>2]|0;if(d)Gg(k[d+68>>2]|0)}else e=0}else e=d}else{k[f>>2]=54788;k[f+4>>2]=10788;gd(11,13600,f);e=11}r=g;return e|0}function Bp(a){a=a|0;var b=0,c=0,d=0;if((i[a+12>>0]|0)==0?(b=a+60|0,c=k[b>>2]|0,((qc[k[(k[c>>2]|0)+48>>2]&127](c)|0)&4096|0)==0):0){b=k[b>>2]|0;c=k[(k[b>>2]|0)+44>>2]|0;if(c){b=qc[c&127](b)|0;if((b|0)<32)b=512;else d=6}else{b=4096;d=6}if((d|0)==6)b=(b|0)>65536?65536:b;k[a+148>>2]=b}else k[a+148>>2]=512;return}function Cp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=a+40|0;do if(!(k[g>>2]|0)){f=i[a+20>>0]|0;if(f<<24>>24){if(f&3){c=0;break}if(j[b+24>>1]&4){c=0;break}}k[b+12>>2]=0;do if(!(k[a+208>>2]|0)){if(!((j[b+24>>1]&4)==0?(i[a+16>>0]|0)!=3:0))h=11;if((h|0)==11?(d=El(a,1)|0,(d|0)!=0):0){c=d;break}if(((k[b+20>>2]|0)>>>0>(k[a+24>>2]|0)>>>0?(Zo(b)|0)!=0:0)?(e=_o(b)|0,(e|0)!=0):0){c=e;break}c=Fl(a,b)|0;h=16}else{if((Zo(b)|0)!=0?(c=_o(b)|0,(c|0)!=0):0)break;c=Bl(a,b,0,0)|0;h=16}while(0);if((h|0)==16)if(!c){Cl(b);c=0;break}d=c&255;if((d|0)==10|(d|0)==13){k[g>>2]=c;i[a+16>>0]=6}}else c=0;while(0);return c|0}function Dp(a){a=a|0;var b=0;b=k[a+8>>2]|0;if((i[b>>0]|0)!=0?(i[b>>0]=0,(j[a+26>>1]|0)>1):0)eq(b)|0;return}function Ep(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,m=0;m=r;r=r+16|0;if((r|0)>=(s|0))ka();j=m;h=m+8|0;do if(!(k[e>>2]|0)){if(!b){k[j>>2]=53856;k[j+4>>2]=10788;gd(11,13600,j);k[e>>2]=11;break}if(b>>>0<2)f=0;else{f=b+-2|0;f=f-((f>>>0)%(((((k[a+36>>2]|0)>>>0)/5|0)+1|0)>>>0)|0)|0;f=((f+1|0)==(((k[2514]|0)>>>0)/((k[a+32>>2]|0)>>>0)|0|0)?3:2)+f|0}g=Eg(k[a>>2]|0,f,h,0)|0;if(g){k[e>>2]=g;break}b=(b-f|0)*5|0;g=b+-5|0;do if((g|0)>=0){f=k[h>>2]|0;a=k[f+4>>2]|0;g=a+g|0;if((i[g>>0]|0)==c<<24>>24?(l[a+(b+-3)>>0]<<16|l[a+(b+-4)>>0]<<24|l[a+(b+-2)>>0]<<8|l[a+(b+-1)>>0]|0)==(d|0):0)break;h=Lg(f)|0;k[e>>2]=h;if(!h){i[g>>0]=c;i[a+(b+-4)>>0]=d>>>24;i[a+(b+-3)>>0]=d>>>16;i[a+(b+-2)>>0]=d>>>8;i[a+(b+-1)>>0]=d}}else{k[j>>2]=53867;k[j+4>>2]=10788;gd(11,13600,j);k[e>>2]=11;f=k[h>>2]|0}while(0);if(f)Gg(f)}while(0);r=m;return}function Fp(a,b,c){a=a|0;b=b|0;c=c|0;return Pm(a,b,c,0)|0}function Gp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;f=l[b>>0]&63;d=b+f|0;h=k[c+8>>2]|0;g=k[h>>2]|0;h=k[h+4>>2]|0;switch(l[b+1>>0]|0){case 5:{e=i[d>>0]<<8|l[b+(f+1)>>0];d=l[b+(f+3)>>0]<<16|l[b+(f+2)>>0]<<24|l[b+(f+4)>>0]<<8|l[b+(f+5)>>0];j=11;break}case 6:{e=l[b+(f+1)>>0]<<16|l[d>>0]<<24|l[b+(f+2)>>0]<<8|l[b+(f+3)>>0];d=l[b+(f+5)>>0]<<16|l[b+(f+4)>>0]<<24|l[b+(f+6)>>0]<<8|l[b+(f+7)>>0];j=11;break}case 9:{e=0;d=1;j=11;break}case 2:{d=i[d>>0]<<8|l[b+(f+1)>>0];e=((d|0)<0)<<31>>31;j=11;break}case 7:case 0:{d=Pm(a,b,c,0)|0;break}case 4:{d=l[b+(f+1)>>0]<<16|l[d>>0]<<24|l[b+(f+2)>>0]<<8|l[b+(f+3)>>0];e=((d|0)<0)<<31>>31;j=11;break}case 3:{d=l[b+(f+1)>>0]<<8|i[d>>0]<<16|l[b+(f+2)>>0];e=((d|0)<0)<<31>>31;j=11;break}case 8:{e=0;d=0;j=11;break}case 1:{d=i[d>>0]|0;e=((d|0)<0)<<31>>31;j=11;break}default:d=Pm(a,b,c,0)|0}do if((j|0)==11){if((h|0)>(e|0)|(h|0)==(e|0)&g>>>0>d>>>0){d=k[c+12>>2]|0;break}if((h|0)<(e|0)|(h|0)==(e|0)&g>>>0<d>>>0){d=k[c+16>>2]|0;break}if((m[c+4>>1]|0)>1){d=Pm(a,b,c,1)|0;break}else{d=i[c+6>>0]|0;break}}while(0);return d|0}function Hp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+16|0;if((r|0)>=(s|0))ka();h=j;f=j+8|0;d=b+1|0;e=i[d>>0]|0;if(e<<24>>24>-1){d=e&255;k[f>>2]=d}else{rm(d,f)|0;d=k[f>>2]|0}do if((d|0)>=12){if(!(d&1)){d=k[c+16>>2]|0;break}f=l[b>>0]|0;g=(d+-12|0)/2|0;if((f+g|0)>(a|0)){k[h>>2]=68550;k[h+4>>2]=10788;gd(11,13600,h);i[c+7>>0]=11;d=0;break}d=k[c+8>>2]|0;e=k[d+12>>2]|0;d=cw(b+f|0,k[d+16>>2]|0,(g|0)>(e|0)?e:g)|0;if(d)if((d|0)>0){d=k[c+16>>2]|0;break}else{d=k[c+12>>2]|0;break}if((g|0)==(e|0))if((m[c+4>>1]|0)>1){d=Pm(a,b,c,1)|0;break}else{d=i[c+6>>0]|0;break}else if((g-e|0)>0){d=k[c+16>>2]|0;break}else{d=k[c+12>>2]|0;break}}else d=k[c+12>>2]|0;while(0);r=j;return d|0}function Ip(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0;h=a+73|0;c=i[h>>0]|0;do if(c<<24>>24!=1){if((c&255)>2){c=Pn(a)|0;if(c)break;c=i[h>>0]|0}if(!(c<<24>>24)){k[b>>2]=1;c=0;break}c=a+68|0;d=k[c>>2]|0;if((d|0)!=0?(i[h>>0]=1,k[c>>2]=0,(d|0)>0):0)c=0;else n=9}else n=9;while(0);do if((n|0)==9){g=a+76|0;c=j[g>>1]|0;d=k[a+(c<<2)+120>>2]|0;c=a+(c<<1)+78|0;e=(j[c>>1]|0)+1<<16>>16;j[c>>1]=e;c=(i[d+5>>0]|0)!=0;if((e&65535)<(m[d+18>>1]|0)){if(c){c=0;break}c=_m(a)|0;break}if(!c){c=l[d+6>>0]|0;d=k[d+56>>2]|0;c=wm(a,l[d+(c+9)>>0]<<16|l[d+(c+8)>>0]<<24|l[d+(c+10)>>0]<<8|l[d+(c+11)>>0])|0;if(c)break;c=_m(a)|0;break}e=a+44|0;f=a+72|0;d=j[g>>1]|0;do{if(!(d<<16>>16)){n=15;break}c=k[a+(d<<16>>16<<2)+120>>2]|0;if(c){Gg(k[c+68>>2]|0);d=j[g>>1]|0}d=d+-1<<16>>16;j[g>>1]=d;j[e>>1]=0;i[f>>0]=l[f>>0]&249;o=d<<16>>16;c=k[a+(o<<2)+120>>2]|0}while((m[a+(o<<1)+78>>1]|0)>=(m[c+18>>1]|0));if((n|0)==15){k[b>>2]=1;i[h>>0]=0;c=0;break}if(!(i[c+2>>0]|0))c=0;else c=Im(a,b)|0}while(0);return c|0}function Jp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0;p=a+73|0;c=i[p>>0]|0;do if(c<<24>>24!=1){if((c&255)>2){c=Pn(a)|0;if(c)break;c=i[p>>0]|0}if(!(c<<24>>24)){k[b>>2]=1;c=0;break}c=a+68|0;d=k[c>>2]|0;if((d|0)!=0?(i[p>>0]=1,k[c>>2]=0,(d|0)<0):0)c=0;else e=9}else e=9;while(0);a:do if((e|0)==9){o=a+76|0;f=j[o>>1]|0;g=f<<16>>16;e=k[a+(g<<2)+120>>2]|0;d=a+(g<<1)+78|0;c=j[d>>1]|0;if(!(i[e+5>>0]|0)){b=k[e+56>>2]|0;c=(c&65535)<<1;p=k[e+64>>2]|0;c=(l[p+c>>0]<<8|l[p+(c|1)>>0])&m[e+20>>1];c=wm(a,l[b+(c+1)>>0]<<16|l[b+c>>0]<<24|l[b+(c+2)>>0]<<8|l[b+(c+3)>>0])|0;if(c)break;c=Kp(a)|0;break}b:do if(!(c<<16>>16)){h=a+44|0;n=a+72|0;e=g;while(1){if(!(f<<16>>16))break;d=k[a+(e<<2)+120>>2]|0;if(!d)d=f;else{Gg(k[d+68>>2]|0);d=j[o>>1]|0}f=d+-1<<16>>16;j[o>>1]=f;j[h>>1]=0;i[n>>0]=l[n>>0]&249;e=f<<16>>16;d=a+(e<<1)+78|0;c=j[d>>1]|0;if(c<<16>>16)break b}i[p>>0]=0;k[b>>2]=1;c=0;break a}while(0);j[d>>1]=c+-1<<16>>16;p=k[a+(j[o>>1]<<2)+120>>2]|0;if((i[p+2>>0]|0)!=0?(i[p+5>>0]|0)==0:0)c=Jm(a,b)|0;else c=0}while(0);return c|0}function Kp(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;d=a+76|0;do{c=j[d>>1]|0;b=k[a+(c<<2)+120>>2]|0;if(i[b+5>>0]|0){e=4;break}f=l[b+6>>0]|0;g=k[b+56>>2]|0;f=l[g+(f+9)>>0]<<16|l[g+(f+8)>>0]<<24|l[g+(f+10)>>0]<<8|l[g+(f+11)>>0];j[a+(c<<1)+78>>1]=j[b+18>>1]|0;b=wm(a,f)|0}while((b|0)==0);if((e|0)==4){j[a+(c<<1)+78>>1]=(m[b+18>>1]|0)+65535;b=0}return b|0}function Lp(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,l=0,m=0;m=r;r=r+224|0;if((r|0)>=(s|0))ka();i=m;g=m+8|0;k[g>>2]=0;do if(b){h=a+16|0;l=Km(k[h>>2]|0,m+16|0,200,g)|0;if(l){Lm(k[h>>2]|0,c,b,l);if(!(j[l+4>>1]|0)){rg(k[(k[h>>2]|0)+12>>2]|0,k[g>>2]|0);k[i>>2]=53713;k[i+4>>2]=10788;gd(11,13600,i);g=11;break}h=k[g>>2]|0;g=Hm(a,l,c,d,e,f)|0;if(h)rg(k[(k[a+16>>2]|0)+12>>2]|0,h)}else g=7}else g=Hm(a,0,c,d,e,f)|0;while(0);r=m;return g|0}function Mp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;if((r|0)>=(s|0))ka();p=q+24|0;d=q;n=q+36|0;o=q+32|0;h=k[a+52>>2]|0;wp(a,b,d);j[c>>1]=j[d+20>>1]|0;c=j[d+18>>1]|0;a:do if(c<<16>>16){e=c&65535;f=b+(e+3)|0;if(f>>>0>((k[a+56>>2]|0)+(m[a+20>>1]|0)|0)>>>0){k[p>>2]=58720;k[p+4>>2]=10788;gd(11,13600,p);c=11;break}c=(k[h+36>>2]|0)+-4|0;c=(((k[d+12>>2]|0)+-1+c-(m[d+16>>1]|0)|0)>>>0)/(c>>>0)|0;if(c){g=h+44|0;a=c;e=l[b+(e+1)>>0]<<16|l[b+e>>0]<<24|l[b+(e+2)>>0]<<8|l[f>>0];while(1){a=a+-1|0;k[n>>2]=0;k[o>>2]=0;if(e>>>0<2)break;if(e>>>0>(k[g>>2]|0)>>>0)break;b=(a|0)==0;if(!b){c=Rp(h,e,o,n)|0;if(c)break a;c=k[o>>2]|0;if(c)f=13;else f=12}else f=12;if((f|0)==12){c=bq(h,e)|0;k[o>>2]=c;if(!c){c=0;f=15}else f=13}if((f|0)==13){f=0;if((j[(k[c+68>>2]|0)+26>>1]|0)==1)f=15;else{k[p>>2]=58754;k[p+4>>2]=10788;gd(11,13600,p);c=11}}if((f|0)==15)c=bn(h,c,e)|0;d=k[o>>2]|0;if((d|0)!=0?(i=k[d+68>>2]|0,(i|0)!=0):0)Gg(i);if(c)break a;if(b){c=0;break a}else e=k[n>>2]|0}k[p>>2]=58734;k[p+4>>2]=10788;gd(11,13600,p);c=11}else c=0}else c=0;while(0);r=q;return c|0}function Np(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0,w=0;w=r;r=r+16|0;if((r|0)>=(s|0))ka();f=w;do if(!(k[d>>2]|0)){q=k[a+56>>2]|0;t=b<<1;u=k[a+64>>2]|0;v=u+t|0;e=(l[v>>0]|0)<<8|(l[u+(t|1)>>0]|0);g=a+6|0;h=l[g>>0]|0;n=q+(h+5)|0;o=q+(h+6)|0;if(e>>>0>=((l[n>>0]|0)<<8|(l[o>>0]|0))>>>0?(p=a+52|0,(e+c|0)>>>0<=(k[(k[p>>2]|0)+36>>2]|0)>>>0):0){c=Hq(a,e&65535,c&65535)|0;if(c){k[d>>2]=c;break}c=a+18|0;e=(j[c>>1]|0)+-1<<16>>16;j[c>>1]=e;if(!(e<<16>>16)){d=q+(h+1)|0;i[d>>0]=0;i[d+1>>0]=0;i[d+2>>0]=0;i[d+3>>0]=0;i[q+(h+7)>>0]=0;i[n>>0]=(k[(k[p>>2]|0)+36>>2]|0)>>>8;i[o>>0]=k[(k[p>>2]|0)+36>>2];j[a+16>>1]=(k[(k[p>>2]|0)+36>>2]|0)+65528-(l[g>>0]|0)-(l[a+7>>0]|0);break}else{qw(v|0,u+(t+2)|0,(e&65535)-b<<1|0)|0;i[q+(h+3)>>0]=(m[c>>1]|0)>>>8;i[q+(h+4)>>0]=j[c>>1];q=a+16|0;j[q>>1]=(m[q>>1]|0)+2;break}}k[f>>2]=58991;k[f+4>>2]=10788;gd(11,13600,f);k[d>>2]=11}while(0);r=w;return}function Op(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=r;r=r+16|0;if((r|0)>=(s|0))ka();n=D;z=D+12|0;v=D+8|0;a:do if(!(k[g>>2]|0)){h=a+1|0;if((i[h>>0]|0)==0?(B=d+2|0,C=a+16|0,(B|0)<=(m[C>>1]|0)):0){e=Lg(k[a+68>>2]|0)|0;if(e){k[g>>2]=e;break}w=k[a+56>>2]|0;o=m[a+14>>1]|0;x=a+18|0;y=m[x>>1]<<1;q=b<<1;t=o+q|0;u=a+6|0;e=l[u>>0]|0;k[z>>2]=0;b=y+o|0;o=w+(e+5)|0;p=w+(e+6)|0;h=((l[o>>0]<<8|l[p>>0])+65535&65535)+1|0;b:do if((b|0)>(h|0)){k[n>>2]=54326;k[n+4>>2]=10788;gd(11,13600,n);e=11}else{n=b+2|0;do if((n|0)<=(h|0)){if((i[w+(e+1)>>0]|0)==0?(i[w+(e+2)>>0]|0)==0:0){A=20;break}k[v>>2]=0;b=Iq(a,d,z,v)|0;e=k[z>>2]|0;if(e)break b;if(!(k[v>>2]|0))if(!b)A=20;else h=b-w|0;else A=21}else A=20;while(0);if((A|0)==20)if((n+d|0)>(h|0))A=21;else A=23;if((A|0)==21){e=Jq(a)|0;k[z>>2]=e;if(e)break;h=((l[o>>0]<<8|l[p>>0])+65535&65535)+1|0;A=23}if((A|0)==23){h=h-d|0;i[o>>0]=h>>>8;i[p>>0]=h}j[x>>1]=(j[x>>1]|0)+1<<16>>16;j[C>>1]=(m[C>>1]|0)-B;e=w+h|0;pw(e|0,c|0,d|0)|0;if(f){i[e>>0]=f>>>24;i[w+(h+1)>>0]=f>>>16;i[w+(h+2)>>0]=f>>>8;i[w+(h+3)>>0]=f}f=w+t|0;qw(w+(t+2)|0,f|0,y-q|0)|0;i[f>>0]=h>>>8;i[w+(t+1)>>0]=h;i[w+((l[u>>0]|0)+3)>>0]=(m[x>>1]|0)>>>8;i[w+((l[u>>0]|0)+4)>>0]=j[x>>1];if(!(i[(k[a+52>>2]|0)+17>>0]|0))break a;Kq(a,c,g);break a}while(0);k[g>>2]=e;break}if(!e)e=c;else pw(e|0,c|0,d|0)|0;if(f){i[e>>0]=f>>>24;i[e+1>>0]=f>>>16;i[e+2>>0]=f>>>8;i[e+3>>0]=f}g=i[h>>0]|0;i[h>>0]=g+1<<24>>24;g=g&255;k[a+(g<<2)+32>>2]=e;j[a+(g<<1)+22>>1]=b}while(0);r=D;return}function Pp(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0;Oa=r;r=r+240|0;if((r|0)>=(s|0))ka();Na=Oa+24|0;Ka=Oa+200|0;Aa=Oa+188|0;za=Oa+168|0;ya=Oa+160|0;Ba=Oa+136|0;Ca=Oa+116|0;Ma=Oa+96|0;Ha=Oa+92|0;xa=Oa+229|0;wa=Oa+72|0;va=Oa+52|0;ua=Oa+206|0;Ga=Oa+48|0;Da=Oa;Fa=Oa+44|0;Ja=Oa+40|0;Ia=Oa+36|0;Ea=Oa+32|0;La=Oa+204|0;ta=Oa+216|0;da=a+4|0;ma=(k[(k[da>>2]|0)+36>>2]<<1>>>0)/3|0;na=a+76|0;qa=a+74|0;ra=ta+4|0;sa=ta;ea=a+124|0;ja=a+78|0;la=a+80|0;e=j[na>>1]|0;ca=0;while(1){f=e<<16>>16;g=k[a+(f<<2)+120>>2]|0;h=g+1|0;c=(i[h>>0]|0)==0;if(!(e<<16>>16)){if(c){c=ca;b=0;break}k[Ka>>2]=0;k[Aa>>2]=0;d=k[g+52>>2]|0;b=Lg(k[g+68>>2]|0)|0;k[Na>>2]=b;do if(!b){c=g+72|0;e=np(d,Ka,Aa,k[c>>2]|0,0)|0;k[Na>>2]=e;e=k[Ka>>2]|0;Lq(g,e,Na);if(i[d+17>>0]|0)Ep(d,k[Aa>>2]|0,5,k[c>>2]|0,Na);b=k[Na>>2]|0;if(!b){pw(e+22|0,g+22|0,l[h>>0]<<1|0)|0;pw(e+32|0,g+32|0,l[h>>0]<<2|0)|0;i[e+1>>0]=i[h>>0]|0;ul(g,l[k[e+56>>2]>>0]&247);b=l[g+6>>0]|0;$=k[g+56>>2]|0;_=k[Aa>>2]|0;i[$+(b+8)>>0]=_>>>24;i[$+(b+9)>>0]=_>>>16;i[$+(b+10)>>0]=_>>>8;i[$+(b+11)>>0]=_;k[ea>>2]=e;b=0;break}k[ea>>2]=0;if(e)Gg(k[e+68>>2]|0)}else k[ea>>2]=0;while(0);if(b){c=ca;break}j[na>>1]=1;j[ja>>1]=0;j[la>>1]=0;e=k[ea>>2]|0;d=e+1|0;if(!(i[d>>0]|0)){c=1;f=1;ba=15}else{n=1;f=1;h=d}}else if(c){c=e;e=g;d=h;ba=15}else{n=e;e=g}if((ba|0)==15){ba=0;if((m[e+16>>1]|0)>>>0>ma>>>0){n=c;h=d}else{c=ca;b=0;break}}d=f+-1|0;aa=k[a+(d<<2)+120>>2]|0;d=j[a+(d<<1)+78>>1]|0;o=d&65535;b=Lg(k[aa+68>>2]|0)|0;do if(!b){if(((((i[e+3>>0]|0)!=0?(i[h>>0]|0)==1:0)?(fa=j[e+22>>1]|0,ga=e+18|0,fa<<16>>16==(j[ga>>1]|0)):0)?(ha=aa+72|0,(k[ha>>2]|0)!=1):0)?(ia=aa+18|0,(j[ia>>1]|0)==d<<16>>16):0){d=k[e+52>>2]|0;if(!(fa<<16>>16)){k[Na>>2]=59423;k[Na+4>>2]=10788;gd(11,13600,Na);c=ca;b=11;break}$=np(d,Fa,Ia,0,0)|0;k[Ja>>2]=$;if(!$){c=k[e+32>>2]|0;k[Ea>>2]=c;b=Qp(e,c)|0;j[La>>1]=b;f=k[Fa>>2]|0;ul(f,13);Mq(f,1,Ea,La);j[f+16>>1]=65534-(b&65535)+(k[d+36>>2]|0)-(m[f+14>>1]|0);if((i[d+17>>0]|0)!=0?(Ep(d,k[Ia>>2]|0,5,k[ha>>2]|0,Ja),(b&65535)>(m[f+12>>1]|0)):0)Kq(f,c,Ja);$=k[e+56>>2]|0;d=m[ga>>1]<<1;c=k[e+64>>2]|0;d=(l[c+(d+-2)>>0]<<8|l[c+(d+-1)>>0])&m[e+20>>1];c=$+d|0;k[Ea>>2]=c;d=$+(d+9)|0;while(1){b=c+1|0;if((i[c>>0]|0)<0&b>>>0<d>>>0)c=b;else break}k[Ea>>2]=b;d=c+10|0;f=ra;while(1){k[Ea>>2]=b+1;$=i[b>>0]|0;c=f+1|0;i[f>>0]=$;b=k[Ea>>2]|0;if(!($<<24>>24<0&b>>>0<d>>>0))break;else f=c}Op(aa,m[ia>>1]|0,ta,c-sa|0,0,k[e+72>>2]|0,Ja);c=l[aa+6>>0]|0;$=k[aa+56>>2]|0;_=k[Ia>>2]|0;i[$+(c+8)>>0]=_>>>24;i[$+(c+9)>>0]=_>>>16;i[$+(c+10)>>0]=_>>>8;i[$+(c+11)>>0]=_;c=k[Fa>>2]|0;if(c)Gg(k[c+68>>2]|0)}c=ca;b=k[Ja>>2]|0;break}c=Lo(k[(k[da>>2]|0)+32>>2]|0)|0;X=n<<16>>16==1;g=l[qa>>0]|0;K=g&1;k[Ka>>2]=0;i[xa+0>>0]=0;i[xa+1>>0]=0;i[xa+2>>0]=0;i[xa+3>>0]=0;i[xa+4>>0]=0;Z=k[aa+52>>2]|0;if(!c)b=7;else{B=aa+1|0;n=l[B>>0]|0;Y=aa+18|0;b=m[Y>>1]|0;f=b+n|0;if((f|0)<2){_=f;T=0}else{do if(d<<16>>16)if((f|0)==(o|0)){g=(g|-2)+o|0;break}else{g=o+-1|0;break}else g=0;while(0);_=2-K|0;T=g}$=_+1|0;g=T-n+_|0;A=aa+56|0;n=k[A>>2]|0;if((g|0)==(b|0))o=(l[aa+6>>0]|0)+8|0;else{o=g<<1;W=k[aa+64>>2]|0;o=(l[W+o>>0]<<8|l[W+(o|1)>>0])&m[aa+20>>1]}Q=n+o|0;O=n+(o+1)|0;P=n+(o+2)|0;D=n+(o+3)|0;W=l[O>>0]<<16|l[Q>>0]<<24|l[P>>0]<<8|l[D>>0];k[Ha>>2]=W;o=Aa+(_<<2)|0;W=Ap(Z,W,o,0)|0;k[Ka>>2]=W;a:do if(!W){t=aa+22|0;w=aa+32|0;x=aa+20|0;y=aa+64|0;z=Z+22|0;N=Z+36|0;u=_;n=0;while(1){d=k[o>>2]|0;n=n+1+(m[d+18>>1]|0)+(l[d+1>>0]|0)|0;d=u+-1|0;if(!u)break;v=d+T|0;o=i[B>>0]|0;if((v|0)==(m[t>>1]|0))if(!(o<<24>>24)){o=0;ba=52}else{W=k[w>>2]|0;k[ya+(d<<2)>>2]=W;g=l[W+1>>0]<<16|l[W>>0]<<24|l[W+2>>0]<<8|l[W+3>>0];k[Ha>>2]=g;W=(Qp(aa,W)|0)&65535;k[Ma+(d<<2)>>2]=W;i[B>>0]=0}else ba=52;if((ba|0)==52){ba=0;g=k[A>>2]|0;p=v-(o&255)<<1;f=k[y>>2]|0;p=(l[f+p>>0]<<8|l[f+(p|1)>>0])&m[x>>1];f=g+p|0;b=ya+(d<<2)|0;k[b>>2]=f;g=l[g+(p+1)>>0]<<16|l[f>>0]<<24|l[g+(p+2)>>0]<<8|l[g+(p+3)>>0];k[Ha>>2]=g;q=(Qp(aa,f)|0)&65535;k[Ma+(d<<2)>>2]=q;if(j[z>>1]&4){if((q+p|0)>(k[N>>2]|0)){d=u;ba=54;break}pw(c+p|0,f|0,q|0)|0;k[b>>2]=c+(f-(k[A>>2]|0));o=i[B>>0]|0}Np(aa,v-(o&255)|0,q,Ka)}o=Aa+(d<<2)|0;W=Ap(Z,g,o,0)|0;k[Ka>>2]=W;if(W){ba=47;break a}else u=d}if((ba|0)==54){ba=0;k[Na>>2]=59766;k[Na+4>>2]=10788;gd(11,13600,Na);k[Ka>>2]=11;kw(Aa|0,0,d<<2|0)|0;f=0;g=0;break}o=n+3&-4;W=li((k[Z+32>>2]|0)+(o*6|0)|0)|0;if(!W){k[Ka>>2]=7;f=W;g=0;break}U=W+(o<<2)|0;G=U+(o<<1)|0;J=k[Aa>>2]|0;R=l[J+5>>0]<<2;V=R&65535;S=i[J+3>>0]|0;C=S&255;if((_|0)>-1){F=S<<24>>24!=0;H=J;g=0;I=0;n=0;while(1){E=m[H+18>>1]|0;M=i[H+1>>0]|0;A=M&255;B=A+E|0;if(!(M<<24>>24)){b=k[H+56>>2]|0;if((B|0)>0){v=m[H+20>>1]|0;u=m[H+14>>1]|0;t=0;q=n;while(1){M=(t<<1)+u|0;M=b+((l[b+M>>0]<<8|l[b+(M+1)>>0])&v)|0;k[W+(q<<2)>>2]=M;M=Qp(H,M)|0;j[U+(q<<1)>>1]=M;t=t+1|0;if((t|0)==(E|0))break;else q=q+1|0}n=E+n|0}}else if((B|0)>0){w=H+56|0;u=H+20|0;t=H+64|0;q=0;b=n;while(1){v=q;z=A;b:while(1){while(1){x=z+-1|0;if((z|0)<=0){ba=72;break b}z=m[H+(x<<1)+22>>1]|0;if((z|0)>(v|0))z=x;else{y=z;z=x;break}}if((y|0)==(v|0)){ba=71;break}else v=v+-1|0}if((ba|0)==71){ba=0;v=k[H+(z<<2)+32>>2]|0}else if((ba|0)==72){ba=0;v=v<<1;M=k[t>>2]|0;v=(k[w>>2]|0)+((l[M+v>>0]<<8|l[M+(v|1)>>0])&m[u>>1])|0}k[W+(b<<2)>>2]=v;M=Qp(H,v)|0;j[U+(b<<1)>>1]=M;q=q+1|0;if((q|0)==(B|0))break;else b=b+1|0}n=E+n+A|0}k[Ca+(g<<2)>>2]=n;if((g|0)>=(_|0)|F)o=I;else{d=k[Ma+(g<<2)>>2]|0;p=U+(n<<1)|0;j[p>>1]=d;d=d&65535;o=d+I|0;pw(G+I|0,k[ya+(g<<2)>>2]|0,d|0)|0;d=W+(n<<2)|0;k[d>>2]=G+(I+R);f=(m[p>>1]|0)-R|0;j[p>>1]=f;do if(!(i[H+5>>0]|0)){M=k[d>>2]|0;L=(k[H+56>>2]|0)+8|0;L=l[L>>0]|l[L+1>>0]<<8|l[L+2>>0]<<16|l[L+3>>0]<<24;i[M>>0]=L;i[M+1>>0]=L>>8;i[M+2>>0]=L>>16;i[M+3>>0]=L>>24}else{if((f&65532)>>>0>=4)break;i[G+o>>0]=0;j[p>>1]=4;o=o+1|0}while(0);n=n+1|0}g=g+1|0;if((g|0)>=($|0))break;H=k[Aa+(g<<2)>>2]|0;I=o}o=R+-12+(k[N>>2]|0)|0;if((n|0)>0){p=F<<31>>31;f=0;d=0;g=0;do{b=g+2+(m[U+(f<<1)>>1]|0)|0;if((b|0)>(o|0)){k[Ma+(d<<2)>>2]=g;k[Ba+(d<<2)>>2]=f;if((d|0)>3){ba=91;break}else{f=f+p|0;d=d+1|0;g=0}}else g=b;f=f+1|0}while((f|0)<(n|0));if((ba|0)==91){ba=0;k[Na>>2]=59904;k[Na+4>>2]=10788;gd(11,13600,Na);k[Ka>>2]=11;f=W;g=0;break}k[Ma+(d<<2)>>2]=g;k[Ba+(d<<2)>>2]=n;if((d|0)>0){B=(K|0)==0;f=d;do{q=Ma+(f<<2)|0;f=f+-1|0;b=Ma+(f<<2)|0;t=Ba+(f<<2)|0;x=k[t>>2]|0;A=k[b>>2]|0;p=g;while(1){w=x+-1|0;v=x-C|0;if(p){if(!B){g=A;break}y=j[U+(v<<1)>>1]|0;z=p+2|0;v=j[U+(w<<1)>>1]|0;u=A+-2|0;if(((y&65535)+z|0)>(u-(v&65535)|0)){g=A;break}}else{u=A+-2|0;z=2;y=j[U+(v<<1)>>1]|0;v=j[U+(w<<1)>>1]|0}k[t>>2]=w;x=w;A=u-(v&65535)|0;p=(y&65535)+z|0}k[q>>2]=p;k[b>>2]=g}while((f|0)>0);I=1;M=o;L=n}else{I=1;M=o;L=n}}else ba=93}else{o=R+-12+(k[N>>2]|0)|0;n=0;ba=93}if((ba|0)==93){ba=0;k[Ma>>2]=0;k[Ba>>2]=n;I=0;M=o;d=0;L=n}if((k[J+72>>2]|0)>>>0<2){k[Na>>2]=59963;k[Na+4>>2]=10788;gd(11,13600,Na);k[Ka>>2]=11;f=W;g=0;break}E=l[k[J+56>>2]>>0]|0;if((d|0)>-1){q=(K|0)!=0;b=Z+17|0;f=aa+72|0;u=0;g=0;while(1){do if((u|0)<($|0)){J=Aa+(u<<2)|0;K=k[J>>2]|0;k[za+(u<<2)>>2]=K;k[Ga>>2]=K;k[J>>2]=0;K=Lg(k[K+68>>2]|0)|0;k[Ka>>2]=K;g=g+1|0;if(K){f=W;break a}}else{K=np(Z,Ga,Ha,q?1:k[Ha>>2]|0,0)|0;k[Ka>>2]=K;if(K){f=W;break a}o=k[Ga>>2]|0;ul(o,E);k[za+(u<<2)>>2]=o;g=g+1|0;k[Ca+(u<<2)>>2]=L;if(!(i[b>>0]|0))break;Ep(Z,k[o+72>>2]|0,5,k[f>>2]|0,Ka);if(k[Ka>>2]|0){f=W;break a}}while(0);if((u|0)<(d|0))u=u+1|0;else break}if((g|0)>0){n=0;c:do{K=k[za+(n<<2)>>2]|0;o=k[K+72>>2]|0;k[wa+(n<<2)>>2]=o;k[va+(n<<2)>>2]=o;j[ua+(n<<1)>>1]=j[(k[K+68>>2]|0)+24>>1]|0;if((n|0)>0){f=0;do{if((k[wa+(f<<2)>>2]|0)==(o|0)){ba=118;break c}f=f+1|0}while((f|0)<(n|0))}n=n+1|0}while((n|0)<(g|0));if((ba|0)==118){ba=0;k[Na>>2]=60018;k[Na+4>>2]=10788;gd(11,13600,Na);k[Ka>>2]=11;f=W;break}p=(g|0)>1;f=Z+44|0;d=0;do{if(p){n=0;o=1;do{n=(k[va+(o<<2)>>2]|0)>>>0<(k[va+(n<<2)>>2]|0)>>>0?o:n;o=o+1|0}while((o|0)!=(g|0))}else n=0;K=va+(n<<2)|0;o=k[K>>2]|0;k[K>>2]=-1;if((n|0)!=(d|0)){if((n|0)>(d|0)){J=k[(k[za+(n<<2)>>2]|0)+68>>2]|0;K=n+1+(k[f>>2]|0)|0;j[J+24>>1]=0;cq(J,K)}K=k[za+(d<<2)>>2]|0;J=k[K+68>>2]|0;j[J+24>>1]=j[ua+(n<<1)>>1]|0;cq(J,o);k[K+72>>2]=o}d=d+1|0}while((d|0)!=(g|0));k[Ha>>2]=o;K=0}else K=1}else{K=1;g=0}H=g+-1|0;o=k[za+(H<<2)>>2]|0;J=k[o+72>>2]|0;i[Q>>0]=J>>>24;i[O>>0]=J>>>16;i[P>>0]=J>>>8;i[D>>0]=J;if(!((E&8|0)!=0|($|0)==(g|0))){Q=(k[o+56>>2]|0)+8|0;P=(k[(k[((g|0)>($|0)?za:Aa)+(_<<2)>>2]|0)+56>>2]|0)+8|0;P=l[P>>0]|l[P+1>>0]<<8|l[P+2>>0]<<16|l[P+3>>0]<<24;i[Q>>0]=P;i[Q+1>>0]=P>>8;i[Q+2>>0]=P>>16;i[Q+3>>0]=P>>24}J=Z+17|0;if((i[J>>0]|0)!=0?(oa=k[za>>2]|0,pa=k[N>>2]|0,I):0){A=S<<24>>24==0;y=A&1;x=V<<16>>16==0;v=k[oa+56>>2]|0;u=(m[oa+18>>1]|0)+(l[oa+1>>0]|0)|0;w=0;t=0;n=0;p=oa;while(1){z=k[W+(w<<2)>>2]|0;if((w|0)==(u|0)){n=n+1|0;if((n|0)<(g|0))o=za+(n<<2)|0;else o=Aa+(n<<2)|0;u=k[o>>2]|0;v=k[u+56>>2]|0;u=w+y+(m[u+18>>1]|0)+(l[u+1>>0]|0)|0}if((w|0)==(k[Ba+(t<<2)>>2]|0)){o=t+1|0;p=k[za+(o<<2)>>2]|0;if(!A)ba=142}else{o=t;ba=142}do if((ba|0)==142){ba=0;if((n|0)<(g|0)?(z>>>0>=v>>>0?(k[p+72>>2]|0)==(k[wa+(n<<2)>>2]|0):0)&z>>>0<(v+pa|0)>>>0:0)break;if(x)Ep(Z,l[z+1>>0]<<16|l[z>>0]<<24|l[z+2>>0]<<8|l[z+3>>0],5,k[p+72>>2]|0,Ka);if((m[U+(w<<1)>>1]|0)<=(m[p+12>>1]|0))break;Kq(p,z,Ka)}while(0);w=w+1|0;if((w|0)==(L|0))break;else t=o}}if((H|0)>0){q=S<<24>>24==0;u=0;v=0;while(1){t=k[za+(u<<2)>>2]|0;n=k[Ba+(u<<2)>>2]|0;f=k[W+(n<<2)>>2]|0;d=j[U+(n<<1)>>1]|0;o=(d&65535)+R|0;p=c+v|0;do if(!(i[t+5>>0]|0)){n=(k[t+56>>2]|0)+8|0;Q=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;i[n>>0]=Q;i[n+1>>0]=Q>>8;i[n+2>>0]=Q>>16;i[n+3>>0]=Q>>24;n=p}else{if(!q){wp(t,k[W+(n+-1<<2)>>2]|0,Da);o=Da;f=p;n=0;o=(um(c+(v+4)|0,k[o>>2]|0,k[o+4>>2]|0)|0)+4|0;break}b=f+-4|0;if(d<<16>>16!=4){f=b;n=p;break}f=b;n=p;o=(Qp(aa,b)|0)&65535}while(0);Op(aa,u+T|0,f,o,n,k[t+72>>2]|0,Ka);if(k[Ka>>2]|0){f=W;break a}u=u+1|0;if((u|0)>=(H|0))break;else v=o+v|0}}o=1-g|0;if((o|0)<(g|0)){I=k[Ba>>2]|0;H=S<<24>>24==0&1;do{F=(o|0)<0?0-o|0:o;G=xa+F|0;do if(!(i[G>>0]|0)){if((o|0)<=-1?(T=F+-1|0,(k[Ca+(T<<2)>>2]|0)<(k[Ba+(T<<2)>>2]|0)):0)break;if(!F){E=0;f=0;D=I}else{n=F+-1|0;if((F|0)<($|0))f=(k[Ca+(n<<2)>>2]|0)+H|0;else f=L;D=(k[Ba+(n<<2)>>2]|0)+H|0;E=D;D=(k[Ba+(F<<2)>>2]|0)-D|0}B=k[za+(F<<2)>>2]|0;q=k[B+56>>2]|0;b=l[B+6>>0]|0;d=B+64|0;n=(k[d>>2]|0)+(D<<1)|0;p=B+18|0;v=m[p>>1]|0;C=B+1|0;u=v+f+(l[C>>0]|0)|0;t=D+E|0;if((f|0)<(E|0)){T=Nq(B,E-f|0,W+(f<<2)|0,U+(f<<1)|0)|0;S=k[d>>2]|0;qw(S|0,S+(T<<1)|0,v<<1|0)|0;v=v-T|0}if((u|0)>(t|0))v=v-(Nq(B,u-t|0,W+(t<<2)|0,U+(t<<1)|0)|0)|0;x=q+(b+5)|0;w=q+(b+6)|0;T=q+(((l[x>>0]<<8|l[w>>0])+65535&65535)+1)|0;k[Na>>2]=T;d:do if(T>>>0<n>>>0)ba=181;else{if((E|0)<(f|0)){u=f-E|0;u=(u|0)>(D|0)?D:u;T=k[d>>2]|0;qw(T+(u<<1)|0,T|0,v<<1|0)|0;if(Oq(B,n,Na,T,u,W+(E<<2)|0,U+(E<<1)|0)|0){ba=181;break}v=v+u|0}u=i[C>>0]|0;if(u<<24>>24){A=0;do{z=(m[B+(A<<1)+22>>1]|0)+f|0;y=z-E|0;if((y|0)>-1&(y|0)<(D|0)){S=y<<1;R=k[d>>2]|0;T=R+S|0;qw(R+(S+2)|0,T|0,v-y<<1|0)|0;if(Oq(B,n,Na,T,1,W+(z<<2)|0,U+(z<<1)|0)|0){ba=181;break d}u=i[C>>0]|0;v=v+1|0}A=A+1|0}while((A|0)<(u&255|0))}T=v+E|0;if(Oq(B,n,Na,(k[d>>2]|0)+(v<<1)|0,D-v|0,W+(T<<2)|0,U+(T<<1)|0)|0){ba=181;break}T=D&65535;j[p>>1]=T;i[C>>0]=0;i[q+(b+3)>>0]=(T&65535)>>>8;i[q+(b+4)>>0]=j[p>>1];T=(k[Na>>2]|0)-q|0;i[x>>0]=T>>>8;i[w>>0]=T}while(0);if((ba|0)==181){ba=0;Mq(B,D,W+(E<<2)|0,U+(E<<1)|0)}i[G>>0]=1;j[B+16>>1]=M-(k[Ma+(F<<2)>>2]|0)}while(0);o=o+1|0}while((o|0)!=(g|0))}do if(X){if(j[Y>>1]|0){ba=191;break}f=k[za>>2]|0;if((l[aa+6>>0]|0)>>>0>(m[f+16>>1]|0)>>>0){ba=191;break}Z=Jq(f)|0;k[Ka>>2]=Z;Lq(f,aa,Ka);if(k[Ka>>2]|0)break;Z=bn(k[f+52>>2]|0,f,k[f+72>>2]|0)|0;k[Ka>>2]=Z}else ba=191;while(0);do if((ba|0)==191){ba=0;if((i[J>>0]|0)==0|V<<16>>16!=0|K)break;else f=0;do{Y=k[za+(f<<2)>>2]|0;X=k[Y+56>>2]|0;Ep(Z,l[X+9>>0]<<16|l[X+8>>0]<<24|l[X+10>>0]<<8|l[X+11>>0],5,k[Y+72>>2]|0,Ka);f=f+1|0}while((f|0)!=(g|0))}while(0);if((g|0)>=($|0)){f=W;break}f=k[Ka>>2]|0;b=g;do{d=k[Aa+(b<<2)>>2]|0;if(!f){f=bn(k[d+52>>2]|0,d,k[d+72>>2]|0)|0;k[Ka>>2]=f}b=b+1|0}while((b|0)!=($|0));f=W}else{d=_;ba=47}while(0);if((ba|0)==47){ba=0;kw(Aa|0,0,(d<<2)+4|0)|0;f=0;g=0}mi(f);if((_|0)>-1){d=0;do{f=k[Aa+(d<<2)>>2]|0;if(f)Gg(k[f+68>>2]|0);d=d+1|0}while((d|0)<($|0))}if((g|0)>0){d=0;do{b=k[za+(d<<2)>>2]|0;if(b)Gg(k[b+68>>2]|0);d=d+1|0}while((d|0)!=(g|0))}b=k[Ka>>2]|0}if(ca)el(ca)}else c=ca;while(0);i[h>>0]=0;if(e)Gg(k[e+68>>2]|0);e=(j[na>>1]|0)+-1<<16>>16;j[na>>1]=e;if(b)break;else ca=c}if(c)el(c);r=Oa;return b|0}function Qp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;c=l[a+7>>0]|0;d=b+c|0;do if(!(i[a+4>>0]|0)){f=i[d>>0]|0;e=f&255;if(f<<24>>24<0){f=b+(c+9)|0;c=e&127;do{d=d+1|0;e=i[d>>0]|0;c=e&127|c<<7}while(e<<24>>24<0&d>>>0<f>>>0)}else c=e;e=d+1|0;if(i[a+2>>0]|0){g=d+10|0;f=e;while(1){e=d+2|0;if((i[f>>0]|0)<0&e>>>0<g>>>0){d=f;f=e}else break}}d=m[a+10>>1]|0;if(c>>>0>d>>>0){f=m[a+12>>1]|0;c=(((c-f|0)>>>0)%(((k[(k[a+52>>2]|0)+36>>2]|0)+-4|0)>>>0)|0)+f|0;c=(e-b&65535)+4+(c>>>0>d>>>0?f:c)|0;break}else{c=e-b+c|0;c=c>>>0<4?4:c;break}}else{e=b+(c+9)|0;while(1){c=d+1|0;if((i[d>>0]|0)<0&c>>>0<e>>>0)d=c;else break}c=c-b|0}while(0);return c&65535|0}function Rp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+16|0;if((r|0)>=(s|0))ka();o=q+4|0;n=q;m=q+8|0;k[o>>2]=0;if(i[a+17>>0]|0){e=((k[2514]|0)>>>0)/((k[a+32>>2]|0)>>>0)|0;h=a+36|0;j=b;while(1){g=j+1|0;if(g>>>0<2)f=0;else{f=j+-1|0;f=f-((f>>>0)%(((((k[h>>2]|0)>>>0)/5|0)+1|0)>>>0)|0)|0;f=((f+1|0)==(e|0)?3:2)+f|0}if((f|0)==(g|0)|(j|0)==(e|0))j=g;else break}if(g>>>0<=(k[a+44>>2]|0)>>>0){j=mp(a,g,m,n)|0;h=(j|0)==0;f=h&(i[m>>0]|0)==4&(k[n>>2]|0)==(b|0);g=f?g:0;if(f|h^1){e=0;f=f?101:j}else p=8}else{g=0;p=8}}else{g=0;p=8}if((p|0)==8){f=il(a,b,o,(c|0)==0?2:0)|0;e=k[o>>2]|0;if(!f){g=k[e+56>>2]|0;g=l[g+1>>0]<<16|l[g>>0]<<24|l[g+2>>0]<<8|l[g+3>>0];f=0}}k[d>>2]=g;if(!c){if(e)Gg(k[e+68>>2]|0)}else k[c>>2]=e;r=q;return ((f|0)==101?0:f)|0}function Sp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;h=r;r=r+16|0;if((r|0)>=(s|0))ka();g=h;k[g>>2]=0;e=(b|0)!=0;a:do if(c)if(e){e=g;while(1){f=c+8|0;while(1){if(($p(a,b+8|0,k[b>>2]|0,f,k[c>>2]|0)|0)>=1)break;k[e>>2]=b;e=b+4|0;b=k[e>>2]|0;if(!b){b=0;f=0;break a}else f=0}k[e>>2]=c;e=c+4|0;c=k[e>>2]|0;if(!c){c=0;f=1;break a}if(!b){b=0;f=0;break}}}else{f=e;e=g}else{c=0;f=e;e=g}while(0);k[e>>2]=f?b:c;k[d>>2]=k[g>>2];r=h;return}function Tp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;if((r|0)>=(s|0))ka();e=f+8|0;d=f;c=k[2252]|0;if((c|0)!=0?(qc[c&127](202)|0)!=0:0)c=3338;else{c=rp(k[a>>2]|0,0,b,4126,e)|0;k[e>>2]=c;if(!c){c=d;k[c>>2]=0;k[c+4>>2]=0;c=k[b>>2]|0;fc[k[(k[c>>2]|0)+40>>2]&63](c,18,d)|0;c=k[e>>2]|0}}r=f;return c|0}function Up(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;f=b+0|0;g=f+40|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(g|0));f=((c|0)<0)<<31>>31;g=vg(c,f)|0;k[b+4>>2]=g;if(!g)k[b>>2]=7;else{g=ww(d|0,e|0,c|0,f|0)|0;k[b+12>>2]=g;k[b+16>>2]=g;g=iw(d|0,e|0,g|0,((g|0)<0)<<31>>31|0)|0;f=b+24|0;k[f>>2]=g;k[f+4>>2]=L;k[b+8>>2]=c;k[b+32>>2]=a}return}function Vp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;a:do if((c|0)>0){e=a+8|0;g=a+16|0;h=a+4|0;i=a+32|0;j=a+12|0;l=a+24|0;m=c;do{if(k[a>>2]|0)break a;f=k[g>>2]|0;d=(k[e>>2]|0)-f|0;d=(m|0)>(d|0)?d:m;pw((k[h>>2]|0)+f|0,b+(c-m)|0,d|0)|0;f=(k[g>>2]|0)+d|0;k[g>>2]=f;if((f|0)==(k[e>>2]|0)){q=k[i>>2]|0;o=k[j>>2]|0;p=(k[h>>2]|0)+o|0;n=l;n=ow(k[n>>2]|0,k[n+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;n=yc[k[(k[q>>2]|0)+12>>2]&31](q,p,f-o|0,n,L)|0;k[a>>2]=n;k[g>>2]=0;k[j>>2]=0;n=k[e>>2]|0;f=l;n=ow(k[f>>2]|0,k[f+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;f=l;k[f>>2]=n;k[f+4>>2]=L}m=m-d|0}while((m|0)>0)}while(0);return}function Wp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;e=a+4|0;if(((k[a>>2]|0)==0?(d=k[e>>2]|0,(d|0)!=0):0)?(c=k[a+16>>2]|0,f=k[a+12>>2]|0,(c|0)>(f|0)):0){h=k[a+32>>2]|0;g=a+24|0;g=ow(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0;c=yc[k[(k[h>>2]|0)+12>>2]&31](h,d+f|0,c-f|0,g,L)|0;k[a>>2]=c}d=a+24|0;c=k[a+16>>2]|0;d=ow(c|0,((c|0)<0)<<31>>31|0,k[d>>2]|0,k[d+4>>2]|0)|0;c=b;k[c>>2]=d;k[c+4>>2]=L;$c(k[e>>2]|0);e=k[a>>2]|0;c=a+0|0;d=c+40|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));return e|0}function Xp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;f=k[2252]|0;if((f|0)!=0?(qc[f&127](201)|0)!=0:0)f=266;else{g=b+44|0;if(k[g>>2]|0)k[g>>2]=0;n=b;k[n>>2]=d;k[n+4>>2]=e;n=c+8|0;l=k[n>>2]|0;n=k[n+4>>2]|0;i=b+8|0;j=i;k[j>>2]=l;k[j+4>>2]=n;c=k[c>>2]|0;j=b+24|0;k[j>>2]=c;a=a+8|0;f=k[a>>2]|0;h=k[(k[f+24>>2]|0)+136>>2]|0;m=((h|0)<0)<<31>>31;if(!((n|0)>(m|0)|(n|0)==(m|0)&l>>>0>h>>>0)?(k[k[c>>2]>>2]|0)>2:0){k[g>>2]=0;f=k[a>>2]|0}h=k[f+12>>2]|0;c=((h|0)<0)<<31>>31;e=ww(d|0,e|0,h|0,c|0)|0;a=b+36|0;f=k[a>>2]|0;if(!f){f=vg(h,c)|0;k[a>>2]=f;k[b+40>>2]=h;d=f;f=(f|0)==0?7:0}else{d=f;f=0}if((f|0)==0&(e|0)!=0){f=h-e|0;h=b;g=k[h>>2]|0;h=k[h+4>>2]|0;b=ow(g|0,h|0,f|0,((f|0)<0)<<31>>31|0)|0;l=L;c=i;a=k[c>>2]|0;c=k[c+4>>2]|0;if((l|0)>(c|0)|(l|0)==(c|0)&b>>>0>a>>>0)f=iw(a|0,c|0,g|0,h|0)|0;j=k[j>>2]|0;f=yc[k[(k[j>>2]|0)+8>>2]&31](j,d+e|0,f,g,h)|0}}return f|0}function Yp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;if((r|0)>=(s|0))ka();g=h+8|0;f=h;d=k[a+44>>2]|0;c=a;e=k[c>>2]|0;a:do if(!d){d=k[a+40>>2]|0;c=ww(e|0,k[c+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;if((c|0)!=0&(d-c|0)>8){d=(xp((k[a+36>>2]|0)+c|0,b)|0)&255;c=a;d=ow(k[c>>2]|0,k[c+4>>2]|0,d|0,0)|0;c=a;k[c>>2]=d;k[c+4>>2]=L;c=0;break}else d=0;while(1){c=Pq(a,1,f)|0;if(c)break a;c=i[k[f>>2]>>0]|0;i[g+(d&15)>>0]=c;if(c<<24>>24<0)d=d+1|0;else break}xp(g,b)|0;c=0}else{d=(xp(d+e|0,b)|0)&255;c=a;d=ow(k[c>>2]|0,k[c+4>>2]|0,d|0,0)|0;c=a;k[c>>2]=d;k[c+4>>2]=L;c=0}while(0);r=h;return c|0}function Zp(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+16|0;if((r|0)>=(s|0))ka();f=h;c=f;k[c>>2]=0;k[c+4>>2]=0;c=a;e=k[c+4>>2]|0;b=a+8|0;d=k[b+4>>2]|0;do if((e|0)<(d|0)|((e|0)==(d|0)?(k[c>>2]|0)>>>0<(k[b>>2]|0)>>>0:0))g=9;else{c=k[a+48>>2]|0;if(c){b=Qq(c)|0;i=c+32|0;e=c+48|0;k[i+0>>2]=k[e+0>>2];k[i+4>>2]=k[e+4>>2];k[i+8>>2]=k[e+8>>2];k[i+12>>2]=k[e+12>>2];i=c+40|0;e=c+8|0;d=k[e>>2]|0;e=k[e+4>>2]|0;if((k[i>>2]|0)==(d|0)?(k[i+4>>2]|0)==(e|0):0)k[c+20>>2]=1;if(!b)if(!(k[c+20>>2]|0)){b=Xp(k[c>>2]|0,a,c+32|0,d,e)|0;if(!b){g=9;break}else break}else b=0}else b=0;_p(a)}while(0);if((g|0)==9){b=Yp(a,f)|0;if(!b){b=k[f>>2]|0;k[a+20>>2]=b;b=Pq(a,b,a+32|0)|0}}r=h;return b|0}function _p(a){a=a|0;var b=0;$c(k[a+28>>2]|0);$c(k[a+36>>2]|0);Xm(k[a+48>>2]|0);a=a+0|0;b=a+56|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}function $p(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;f=k[a+12>>2]|0;if(d)Lm(k[(k[a+8>>2]|0)+28>>2]|0,e,d,f);return Pm(c,b,f,0)|0}function aq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0,w=0;w=r;r=r+16|0;if((r|0)>=(s|0))ka();f=w;e=w+8|0;q=w+12|0;do if((k[a+44>>2]|0)>>>0>=b>>>0){b=Ap(a,b,e,0)|0;if(!b){u=k[e>>2]|0;t=u+9|0;a:do if(!(i[t>>0]|0)){i[t>>0]=1;o=l[u+6>>0]|0;h=u+18|0;e=j[h>>1]|0;if(!(e<<16>>16)){e=e&65535;b=u+5|0}else{g=0;while(1){f=k[u+56>>2]|0;e=g<<1;b=k[u+64>>2]|0;e=(l[b+e>>0]<<8|l[b+(e|1)>>0])&m[u+20>>1];b=f+e|0;n=u+5|0;if((i[n>>0]|0)==0?(p=aq(a,l[f+(e+1)>>0]<<16|l[b>>0]<<24|l[f+(e+2)>>0]<<8|l[f+(e+3)>>0],1,d)|0,(p|0)!=0):0){b=p;v=21;break a}b=Mp(u,b,q)|0;g=g+1|0;if(b){v=21;break a}e=m[h>>1]|0;if((g|0)>=(e|0)){b=n;break}}}if(!(i[b>>0]|0)){b=k[u+56>>2]|0;b=aq(a,l[b+(o+9)>>0]<<16|l[b+(o+8)>>0]<<24|l[b+(o+10)>>0]<<8|l[b+(o+11)>>0],1,d)|0;if(!b)v=16}else if(!d)v=16;else{k[d>>2]=(k[d>>2]|0)+e;v=16}if((v|0)==16){if(c){b=bn(k[u+52>>2]|0,u,k[u+72>>2]|0)|0;v=21;break}b=Lg(k[u+68>>2]|0)|0;if(!b){ul(u,l[(k[u+56>>2]|0)+o>>0]|8);b=0;v=21;break}}i[t>>0]=0}else{k[f>>2]=60971;k[f+4>>2]=10788;gd(11,13600,f);b=11;v=21}while(0);if((v|0)==21){i[t>>0]=0;if(!u)break}Gg(k[u+68>>2]|0)}}else{k[f>>2]=60966;k[f+4>>2]=10788;gd(11,13600,f);b=11}while(0);r=w;return b|0}function bq(a,b){a=a|0;b=b|0;var c=0,d=0;d=(k[a>>2]|0)+204|0;c=fc[k[8744+132>>2]&63](k[(k[d>>2]|0)+40>>2]|0,b,0)|0;c=nl(k[d>>2]|0,b,c)|0;if(!c)c=0;else{d=k[c+8>>2]|0;k[d+56>>2]=k[c+4>>2];k[d+68>>2]=c;k[d+52>>2]=a;k[d+72>>2]=b;i[d+6>>0]=(b|0)==1?100:0;c=d}return c|0}function cq(a,b){a=a|0;b=b|0;var c=0;c=a+20|0;vc[k[8744+140>>2]&15](k[(k[a+28>>2]|0)+40>>2]|0,k[a>>2]|0,k[c>>2]|0,b);k[c>>2]=b;if((j[a+24>>1]&6)==6)Vo(a,3);return}function dq(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0;v=r;r=r+16|0;if((r|0)>=(s|0))ka();u=v;p=k[a+52>>2]|0;q=i[a>>0]|0;t=k[a+72>>2]|0;o=eq(a)|0;k[u>>2]=o;if(!o){o=j[a+18>>1]|0;n=o&65535;if(!(o<<16>>16))b=a+5|0;else{c=a+56|0;d=a+20|0;e=a+64|0;b=a+5|0;o=0;do{f=k[c>>2]|0;g=o<<1;h=k[e>>2]|0;g=(l[h+g>>0]<<8|l[h+(g|1)>>0])&m[d>>1];h=f+g|0;Kq(a,h,u);if(!(i[b>>0]|0))Ep(p,l[f+(g+1)>>0]<<16|l[h>>0]<<24|l[f+(g+2)>>0]<<8|l[f+(g+3)>>0],5,t,u);o=o+1|0}while((o|0)<(n|0))}if(!(i[b>>0]|0)){o=l[a+6>>0]|0;n=k[a+56>>2]|0;Ep(p,l[n+(o+9)>>0]<<16|l[n+(o+8)>>0]<<24|l[n+(o+10)>>0]<<8|l[n+(o+11)>>0],5,t,u)}}i[a>>0]=q;r=v;return k[u>>2]|0}function eq(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0;v=r;r=r+16|0;if((r|0)>=(s|0))ka();u=v;a:do if(!(i[a>>0]|0)){b=k[a+52>>2]|0;p=k[a+56>>2]|0;f=l[a+6>>0]|0;if(Wo(a,l[p+f>>0]|0)|0){k[u>>2]=54562;k[u+4>>2]=10788;gd(11,13600,u);b=11;break}h=k[b+32>>2]|0;j[a+20>>1]=h+65535;i[a+1>>0]=0;o=k[b+36>>2]|0;b=f+8+(l[a+7>>0]|0)|0;j[a+14>>1]=b;k[a+60>>2]=p+o;b=b&65535;k[a+64>>2]=p+b;e=i[p+(f+5)>>0]|0;d=i[p+(f+6)>>0]|0;c=l[p+(f+3)>>0]<<8|l[p+(f+4)>>0];j[a+18>>1]=c;if(c>>>0>(((h+-8|0)>>>0)/6|0)>>>0){k[u>>2]=54579;k[u+4>>2]=10788;gd(11,13600,u);b=11;break}h=(c<<1)+b|0;g=o+-4|0;c=l[p+(f+1)>>0]<<8|l[p+(f+2)>>0];b=(((e&255)<<8|d&255)+65535&65535)+1+(l[p+(f+7)>>0]|0)|0;do if(c){while(1){if((c|0)<(h|0)|(c|0)>(g|0)){t=8;break}d=l[p+c>>0]<<8|l[p+(c+1)>>0];e=l[p+(c+2)>>0]<<8|l[p+(c+3)>>0];c=e+c|0;if(!d){m=e;n=c;q=b;t=12;break}if((d|0)<=(c+3|0)|(c|0)>(o|0))break;c=d;b=e+b|0}if((t|0)==8){k[u>>2]=54634;k[u+4>>2]=10788;gd(11,13600,u);b=11;break a}if((t|0)==12?(n|0)<=(o|0):0){b=m+q|0;break}k[u>>2]=54641;k[u+4>>2]=10788;gd(11,13600,u);b=11;break a}while(0);if((b|0)>(o|0)){k[u>>2]=54655;k[u+4>>2]=10788;gd(11,13600,u);b=11;break}else{j[a+16>>1]=b-h;i[a>>0]=1;b=0;break}}else b=0;while(0);r=v;return b|0}function fq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=r;r=r+16|0;if((r|0)>=(s|0))ka();g=h;d=k[a>>2]|0;e=d+65|0;if(!(i[e>>0]|0)){if((k[d+24>>2]&65536|0)==0?(f=a+4|0,j=k[f>>2]|0,k[g>>2]=(b|0)==0?13552:b,ih(j,d,13560,g),(c|0)!=0):0){b=k[k[f>>2]>>2]|0;k[g>>2]=b;k[g+4>>2]=c;d=Rq(d,b,0,g)|0;k[k[f>>2]>>2]=d}if(!(i[e>>0]|0)){k[g>>2]=105209;k[g+4>>2]=10788;gd(11,13600,g);d=11}else d=7}else d=7;k[a+12>>2]=d;r=h;return}function gq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=r;r=r+16|0;if((r|0)>=(s|0))ka();l=m;j=a+20|0;a:do if((k[j>>2]|0)>0){g=a+16|0;h=(c|0)==0;i=0;a=0;do{e=(i|0)<2^i;f=k[g>>2]|0;d=k[f+(e<<4)+12>>2]|0;if(!(!h?(id(c,k[f+(e<<4)>>2]|0)|0)!=0:0)){a=gn(d+24|0,b,l)|0;if(a){a=k[a+8>>2]|0;if(a)break a}else a=0}i=i+1|0}while((i|0)<(k[j>>2]|0))}else a=0;while(0);r=m;return a|0}function hq(a){a=a|0;var b=0,c=0,d=0,e=0;e=k[a+8>>2]|0;d=a+46|0;c=j[d>>1]|0;c=(c&65535)>5?5:c&65535;b=j[(k[a+12>>2]|0)+28>>1]|0;j[e>>1]=b<<16>>16<33?33:b;pw(e+2|0,13512,c<<1|0)|0;b=m[d>>1]|0;if(c>>>0<b>>>0)do{c=c+1|0;j[e+(c<<1)>>1]=23;b=m[d>>1]|0}while((c|0)<(b|0));if(i[a+50>>0]|0)j[e+(b<<1)>>1]=0;return}function iq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0,n=0,o=0;n=r;r=r+64|0;if((r|0)>=(s|0))ka();h=n;a:do if((((c|0)!=0?(f=k[c>>2]|0,(f|0)!=0):0)?(l=c+8|0,(k[l>>2]|0)!=0):0)?(e=a+4|0,o=di(k[a>>2]|0,f,k[e>>2]|0)|0,(o|0)!=0):0){d=k[c+4>>2]|0;b:do if(!d)g=11;else{if(!(id(k[c>>2]|0,d)|0)){e=k[o+8>>2]|0;if(!e){g=11;break}while(1){f=i[e+51>>0]|0;if((f&3)==2)break;e=k[e+20>>2]|0;if(!e){g=11;break b}}d=k[l>>2]|0;b=e}else{b=gq(k[a>>2]|0,d,k[e>>2]|0)|0;e=k[l>>2]|0;if(!b)break;f=i[b+51>>0]|0;d=e}l=(m[b+46>>1]|0)+1|0;i[b+51>>0]=f&-5;e=b+8|0;Sq(d,l,k[e>>2]|0,b);if(k[b+36>>2]|0)break a;j[o+28>>1]=j[k[e>>2]>>1]|0;break a}while(0);if((g|0)==11)e=k[l>>2]|0;l=o+42|0;g=h+44|0;j[g>>1]=j[l>>1]|0;Sq(e,1,o+28|0,h);j[l>>1]=j[g>>1]|0}while(0);r=n;return 0}function jq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;if((r|0)>=(s|0))ka();f=g;do if(b){if((k[a+12>>2]|0)>>>0<b>>>0){k[f>>2]=b;ln(a,44408,f);c=1;break}d=(k[a+8>>2]|0)+(b>>>3)|0;e=l[d>>0]|0;c=1<<(b&7);if(!(e&c)){i[d>>0]=e|c;c=0;break}else{k[f>>2]=b;ln(a,44432,f);c=1;break}}else c=1;while(0);r=g;return c|0}function kq(a,b){a=a|0;b=b|0;var c=0,d=0;c=k[a>>2]|0;do if(c){if((b|0)==1){b=c+8|0;k[a>>2]=k[b>>2];k[b>>2]=0;k[c+12>>2]=0;break}b=b+-1|0;c=kq(a,b)|0;d=k[a>>2]|0;if(d){k[d+12>>2]=c;c=d+8|0;k[a>>2]=k[c>>2];b=kq(a,b)|0;k[c>>2]=b;return d|0}}else c=0;while(0);return c|0}function lq(a,b){a=a|0;b=b|0;var c=0;if((i[a+43>>0]|0)==2){c=a+24|0;if((k[c>>2]|0)>0){b=a+32|0;a=0;do{$c(k[(k[b>>2]|0)+(a<<2)>>2]|0);k[(k[b>>2]|0)+(a<<2)>>2]=0;a=a+1|0}while((a|0)<(k[c>>2]|0))}}else{a=k[a+4>>2]|0;wc[k[(k[a>>2]|0)+64>>2]&127](a,b)|0}return}function mq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=r;r=r+16|0;if((r|0)>=(s|0))ka();b=Sg(b)|0;if(b)ih(c,a,Xe(a)|0,d);r=d;return b|0}function nq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=k[a>>2]|0;d=a+16|0;e=a+84|0;hh(k[d>>2]|0,(m[e>>1]|0)<<1);rg(c,k[d>>2]|0);j[e>>1]=b;e=b*80|0;c=rh(c,e,0)|0;if(c){kw(c|0,0,e|0)|0;k[d>>2]=c;if((b|0)>0){e=k[a>>2]|0;d=b<<1;while(1){d=d+-1|0;j[c+8>>1]=1;k[c+32>>2]=e;if((d|0)<=0)break;else c=c+40|0}}}else k[d>>2]=0;return}function oq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(!(i[(k[a>>2]|0)+65>>0]|0)){b=(ha(m[a+84>>1]|0,c)|0)+b|0;ah((k[a+16>>2]|0)+(b*40|0)|0,d,-1,1,e)|0}return}function pq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;h=r;r=r+16|0;if((r|0)>=(s|0))ka();g=h;f=k[a>>2]|0;e=f+1|0;k[a>>2]=e;if((f|0)>98){c=a+8|0;e=k[c>>2]|0;k[a>>2]=f;do Un(a);while((k[a>>2]|0)>-1);yh(e,37160,g);k[c>>2]=e}else{j[a+(e<<4)+12>>1]=b;i[a+(e<<4)+14>>0]=c;c=a+(e<<4)+16|0;k[c+0>>2]=k[d+0>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2]}r=h;return}function qq(a,b,c){a=a|0;b=b|0;c=c|0;a=k[a+8>>2]|0;switch(b&255|0){case 236:{Mk(k[a>>2]|0,k[c+4>>2]|0);break}case 243:case 238:case 229:case 227:case 216:case 204:case 202:{Lk(k[a>>2]|0,k[c>>2]|0);break}case 213:case 212:case 201:case 194:{Io(k[a>>2]|0,k[c>>2]|0);break}case 207:case 196:case 195:case 163:{Rk(k[a>>2]|0,k[c>>2]|0,1);break}case 223:case 219:case 217:{Mk(k[a>>2]|0,k[c>>2]|0);break}case 175:case 174:{Lk(k[a>>2]|0,k[c>>2]|0);break}case 239:case 234:{Kk(k[a>>2]|0,k[c>>2]|0);break}case 252:case 197:{Vn(k[a>>2]|0,k[c>>2]|0);break}case 228:case 221:case 220:case 210:case 209:case 208:case 205:case 203:case 200:case 188:case 179:{Sk(k[a>>2]|0,k[c>>2]|0);break}default:{}}return}
function Hl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;o=r;r=r+16|0;if((r|0)>=(s|0))ka();j=o;n=a+16|0;if((l[n>>0]|0)<2?(l[a+17>>0]|0)<2:0)d=0;else{hp(a);m=a+64|0;g=k[m>>2]|0;e=k[g>>2]|0;do if(!e)e=0;else{if((e|0)==14696){Li(g,0,0)|0;k[g>>2]=0;e=0;break}f=i[a+5>>0]|0;if(f<<24>>24==3){f=a+72|0;j=f;if(!((k[j>>2]|0)==0&(k[j+4>>2]|0)==0)){e=fc[k[e+16>>2]&63](g,0,0)|0;if(!e)if(!(i[a+8>>0]|0))e=0;else{e=k[m>>2]|0;e=wc[k[(k[e>>2]|0)+20>>2]&127](e,l[a+11>>0]|0)|0}}else e=0;m=f;k[m>>2]=0;k[m+4>>2]=0;break}else if(f<<24>>24!=1?(i[a+4>>0]|0)==0|f<<24>>24==5:0){m=(i[a+12>>0]|0)==0;qc[k[e+4>>2]&127](g)|0;k[g>>2]=0;if(!m){e=0;break}e=k[a>>2]|0;e=fc[k[e+28>>2]&63](e,k[a+172>>2]|0,0)|0;break}h=a+72|0;f=h;if(!((k[f>>2]|0)==0&(k[f+4>>2]|0)==0)){d=a+160|0;f=k[d>>2]|0;d=k[d+4>>2]|0;if((b|0)!=0|(f|0)==0&(d|0)==0)e=fc[k[e+16>>2]&63](g,0,0)|0;else e=yc[k[e+12>>2]&31](g,14664,28,0,0)|0;if(!e){if(!(i[a+7>>0]|0)){e=k[m>>2]|0;e=wc[k[(k[e>>2]|0)+20>>2]&127](e,l[a+11>>0]|16)|0}else e=0;if((e|0)==0&((d|0)>0|(d|0)==0&f>>>0>0)){e=k[m>>2]|0;e=wc[k[(k[e>>2]|0)+24>>2]&127](e,j)|0;g=k[j+4>>2]|0;if((e|0)==0&((g|0)>(d|0)|((g|0)==(d|0)?(k[j>>2]|0)>>>0>f>>>0:0))){e=k[m>>2]|0;e=fc[k[(k[e>>2]|0)+16>>2]&63](e,f,d)|0}}}}else e=0;m=h;k[m>>2]=0;k[m+4>>2]=0}while(0);f=a+56|0;ji(k[f>>2]|0);k[f>>2]=0;k[a+44>>2]=0;f=a+204|0;d=k[f>>2]|0;b=k[d>>2]|0;if(b){do{Cl(b);b=k[d>>2]|0}while((b|0)!=0);d=k[f>>2]|0}f=a+24|0;ip(d,k[f>>2]|0);g=a+208|0;d=k[g>>2]|0;if(!d){if((e|0)==0&(c|0)!=0){d=k[f>>2]|0;if((k[a+32>>2]|0)>>>0>d>>>0)e=Gl(a,d)|0;else e=0}}else{b=d+44|0;if(i[b>>0]|0){if(!(i[d+43>>0]|0)){m=k[d+4>>2]|0;uc[k[(k[m>>2]|0)+56>>2]&31](m,0,1,9)|0}i[b>>0]=0;i[d+47>>0]=0}}if((e|0)==0&(c|0)!=0){d=k[a+60>>2]|0;e=k[d>>2]|0;if(!e)f=0;else{f=fc[k[e+40>>2]&63](d,22,0)|0;f=(f|0)==12?0:f}}else f=e;do if(!(i[a+4>>0]|0)){d=k[g>>2]|0;if((d|0)!=0?(jp(d,0)|0)==0:0){d=0;break}e=k[a+60>>2]|0;d=k[e>>2]|0;if(d){if(!(i[a+13>>0]|0))d=wc[k[d+32>>2]&127](e,1)|0;else d=0;e=a+17|0;if((i[e>>0]|0)!=5)i[e>>0]=1}else d=0;i[a+18>>0]=0}else d=0;while(0);i[n>>0]=1;i[a+19>>0]=0;d=(f|0)==0?d:f}r=o;return d|0}function Il(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,l=0;f=k[a+4>>2]|0;c=k[a>>2]|0;i[f+19>>0]=0;g=a+8|0;do if(i[g>>0]|0){if((k[c+152>>2]|0)>1){c=f+76|0;if((k[c>>2]|0)==(a|0)?(k[c>>2]=0,b=f+22|0,j[b>>1]=m[b>>1]&65439,b=k[f+72>>2]|0,(b|0)!=0):0)do{i[b+8>>0]=1;b=k[b+12>>2]|0}while((b|0)!=0);i[g>>0]=1;break}c=f+72|0;b=k[c>>2]|0;a:do if(b)do while(1){d=b+12|0;e=k[d>>2]|0;if((k[b>>2]|0)!=(a|0)){c=d;b=e;break}k[c>>2]=e;if((k[b+4>>2]|0)==1)b=e;else{$c(b);b=k[c>>2]|0}if(!b)break a}while((b|0)!=0);while(0);b=f+76|0;if((k[b>>2]|0)!=(a|0)){b=k[f+40>>2]|0;if((b|0)==2){e=f+22|0;j[e>>1]=m[e>>1]&65471;k[f+40>>2]=1;e=20;break}}else{k[b>>2]=0;b=f+22|0;j[b>>1]=m[b>>1]&65439;b=k[f+40>>2]|0}b=b+-1|0;k[f+40>>2]=b;if(!b){i[f+20>>0]=0;e=20}else e=20}else e=20;while(0);if(((e|0)==20?(i[g>>0]=0,(i[f+20>>0]|0)==0):0)?(h=f+12|0,l=k[h>>2]|0,(l|0)!=0):0){k[h>>2]=0;Gg(k[l+68>>2]|0)}return}function Jl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=((k[a+36>>2]|0)>>>0)/5|0;if(b>>>0<2){d=0;f=k[a+32>>2]|0;h=k[2514]|0}else{d=b+-2|0;d=d-((d>>>0)%((g+1|0)>>>0)|0)|0;h=k[2514]|0;f=k[a+32>>2]|0;d=((d+1|0)==((h>>>0)/(f>>>0)|0|0)?3:2)+d|0}d=b-c-(((c-b+g+d|0)>>>0)/(g>>>0)|0)|0;e=a+32|0;a=((h>>>0)/(f>>>0)|0)+1|0;c=((h>>>0)/(f>>>0)|0)+1|0;a=((a>>>0<b>>>0&d>>>0<a>>>0)<<31>>31)+d|0;while(1){if(a>>>0<2)d=0;else{d=a+-2|0;d=d-((d>>>0)%((g+1|0)>>>0)|0)|0;d=((d+1|0)==((h>>>0)/((k[e>>2]|0)>>>0)|0|0)?3:2)+d|0}if(!((d|0)==(a|0)|(a|0)==(c|0)))break;a=a+-1|0}return a|0}function Kl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=(b|0)==0;d=a;a:while(1){do if((d|0)!=(c|0)){if(!e?(k[d+60>>2]|0)!=(b|0):0)break;if(((i[d+73>>0]|0)+-1&255)<2){a=kp(d)|0;if(!a)break;else break a}else{lp(d);break}}while(0);d=k[d+8>>2]|0;if(!d){a=0;break}}return a|0}function Ll(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0;v=r;r=r+48|0;if((r|0)>=(s|0))ka();f=v;h=v+32|0;q=v+28|0;g=v+24|0;m=v+20|0;o=v+16|0;t=v+12|0;p=v+8|0;if(c>>>0<2)j=0;else{j=c+-2|0;j=j-((j>>>0)%(((((k[a+36>>2]|0)>>>0)/5|0)+1|0)>>>0)|0)|0;j=((j+1|0)==(((k[2514]|0)>>>0)/((k[a+32>>2]|0)>>>0)|0|0)?3:2)+j|0}do if((j|0)!=(c|0)?((((k[2514]|0)>>>0)/((k[a+32>>2]|0)>>>0)|0)+1|0)!=(c|0):0){n=k[(k[a+12>>2]|0)+56>>2]|0;if((l[n+37>>0]|0)<<16|(l[n+36>>0]|0)<<24|(l[n+38>>0]|0)<<8|(l[n+39>>0]|0)){e=mp(a,c,h,q)|0;if(!e){n=i[h>>0]|0;if(n<<24>>24==2){if(d){e=0;break}e=np(a,m,g,c,1)|0;if(e)break;f=k[m>>2]|0;if(!f){u=24;break}Gg(k[f+68>>2]|0);u=24;break}else if(n<<24>>24!=1){e=il(a,c,t,0)|0;if(e)break;f=(d|0)==0;h=f?2:0;f=f?b:0;g=(d|0)!=0;do{e=np(a,p,o,f,h)|0;if(e){u=16;break}j=k[p>>2]|0;if(j)Gg(k[j+68>>2]|0);j=k[o>>2]|0}while(g&j>>>0>b>>>0);if((u|0)==16){f=k[t>>2]|0;if(!f)break;Gg(k[f+68>>2]|0);break}h=k[t>>2]|0;e=cn(a,h,n,k[q>>2]|0,j,d)|0;if(h)Gg(k[h+68>>2]|0);if(!e){u=24;break}else break}else{k[f>>2]=56228;k[f+4>>2]=10788;gd(11,13600,f);e=11;break}}}else e=101}else u=24;while(0);if((u|0)==24)if(!d){g=((k[2514]|0)>>>0)/((k[a+32>>2]|0)>>>0)|0;h=g+1|0;j=a+36|0;f=c;while(1){e=f+-1|0;if((e|0)==(h|0)){f=e;continue}if(e>>>0<2)f=0;else{f=f+-3|0;f=f-((f>>>0)%(((((k[j>>2]|0)>>>0)/5|0)+1|0)>>>0)|0)|0;f=((f+1|0)==(g|0)?3:2)+f|0}if((f|0)==(e|0))f=e;else break}i[a+19>>0]=1;k[a+44>>2]=e;e=0}else e=0;r=v;return e|0}function Ml(a){a=a|0;var b=0,c=0,d=0;d=a+16|0;c=i[d>>0]|0;a:do if(c<<24>>24!=6)if((c&255)>=2){do if(!(k[a+208>>2]|0)){if(!(c<<24>>24==2?1:(k[k[a+64>>2]>>2]|0)==0)){b=Po(a,0)|0;break}b=Hl(a,0,0)|0;if((i[a+15>>0]|0)==0&(c&255)>2){k[a+40>>2]=4;i[d>>0]=6;break a}}else{b=op(a,2,-1)|0;c=Hl(a,l[a+19>>0]|0,0)|0;b=(b|0)==0?c:b}while(0);c=b&255;if((c|0)==10|(c|0)==13){k[a+40>>2]=b;i[d>>0]=6}}else b=0;else b=k[a+40>>2]|0;while(0);return b|0}function Nl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,l=0;a:do if((a|0)!=0?(e=k[a+4>>2]|0,k[e+4>>2]=k[a>>2],e=k[e+8>>2]|0,(e|0)!=0):0){l=(c|0)==0;while(1){if(!l?(i[e+72>>0]&1)==0:0){if(((i[e+73>>0]|0)+-1&255)<2?(d=kp(e)|0,(d|0)!=0):0)break}else{c=e+56|0;$c(k[c>>2]|0);k[c>>2]=0;i[e+73>>0]=4;k[e+68>>2]=b}c=e+76|0;if((j[c>>1]|0)>=0){h=0;while(1){f=e+(h<<2)+120|0;g=k[f>>2]|0;if(g)Gg(k[g+68>>2]|0);k[f>>2]=0;if((h|0)<(j[c>>1]|0))h=h+1|0;else break}}e=k[e+8>>2]|0;if(!e)break a}Nl(a,d,0)|0;return d|0}while(0);return 0}function Ol(a){a=a|0;var b=0,c=0,d=0;a:do if(!(k[a+4>>2]|0)){c=k[a+20>>2]|0;if((c|0)>0){a=k[a+16>>2]|0;b=0;while(1){d=k[a+(b<<4)+4>>2]|0;if((d|0)!=0?(k[d+16>>2]|0)!=0:0){a=1;break a}b=b+1|0;if((b|0)>=(c|0)){a=0;break}}}else a=0}else a=1;while(0);return a|0}function Pl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0,m=0;c=k[3164]|0;if(c)sc[c&3]();l=a+20|0;g=k[l>>2]|0;f=(g|0)>0;if(f){c=k[a+16>>2]|0;e=0;do{d=k[c+(e<<4)+4>>2]|0;if(d)k[(k[d+4>>2]|0)+4>>2]=k[d>>2];e=e+1|0}while((e|0)!=(g|0))}m=a+24|0;if(!(k[m>>2]&2))c=1;else c=(i[a+145>>0]|0)!=0;if(f){h=a+16|0;c=c&1;f=g;g=0;e=0;while(1){d=k[(k[h>>2]|0)+(g<<4)+4>>2]|0;if(!d)d=f;else{e=(i[d+8>>0]|0)==2?1:e;Qg(d,b,c);d=k[l>>2]|0}g=g+1|0;if((g|0)>=(d|0))break;else f=d}}else e=0;Wn(a,68);c=k[3166]|0;if(c)sc[c&3]();c=k[m>>2]|0;if((c&2|0)!=0?(i[a+145>>0]|0)==0:0){c=k[a+4>>2]|0;if(c)do{d=c+88|0;j[d>>1]=j[d>>1]|8;c=k[c+52>>2]|0}while((c|0)!=0);Jg(a);c=k[m>>2]|0}d=a+504|0;k[d+0>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;k[m>>2]=c&-16777217;c=k[a+204>>2]|0;do if(c){if((e|0)==0?(i[a+63>>0]|0)!=0:0)break;hc[c&31](k[a+200>>2]|0)}while(0);return}function Ql(a){a=a|0;var b=0,c=0;c=a+488|0;b=k[c>>2]|0;if(b)do{k[c>>2]=k[b+24>>2];rg(a,b);b=k[c>>2]|0}while((b|0)!=0);k[a+496>>2]=0;k[a+500>>2]=0;i[a+70>>0]=0;return}function Rl(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=k[a+4>>2]|0;k[f+4>>2]=k[a>>2];c=k[f+8>>2]|0;if(c)do{b=c;c=k[c+8>>2]|0;if((k[b>>2]|0)==(a|0))pp(b)}while((c|0)!=0);Qg(a,0,0);a:do if(i[a+9>>0]|0){c=f+64|0;b=k[c>>2]|0;k[c>>2]=b+-1;if((b|0)<2){b=k[3664]|0;if((b|0)==(f|0)){k[3664]=k[f+68>>2];d=12;break}else c=b;do{if(!c){d=12;break a}b=c+68|0;c=k[b>>2]|0}while((c|0)!=(f|0));k[b>>2]=k[f+68>>2];d=12}}else d=12;while(0);if((d|0)==12){qp(k[f>>2]|0);b=k[f+52>>2]|0;c=f+48|0;if((b|0)!=0?(e=k[c>>2]|0,(e|0)!=0):0)hc[b&31](e);b=k[c>>2]|0;if(b)$c(b);b=f+80|0;c=k[b>>2]|0;if(c){c=c+-4|0;k[b>>2]=c;el(c);k[b>>2]=0}$c(f)}c=k[a+28>>2]|0;b=a+24|0;if(c)k[c+24>>2]=k[b>>2];b=k[b>>2]|0;if(b)k[b+28>>2]=c;$c(a);return}function Sl(a,b){a=a|0;b=b|0;var c=0;b=k[b+32>>2]|0;if((b|0)!=0?(c=(k[b>>2]|0)+-1|0,k[b>>2]=c,(c|0)==0):0){hc[k[b+4>>2]&31](k[b+8>>2]|0);rg(a,b)}return}function Tl(a){a=a|0;var b=0,c=0;c=a+8|0;b=k[c>>2]|0;k[c>>2]=0;c=a+12|0;$c(k[c>>2]|0);k[c>>2]=0;k[a>>2]=0;if(b)do{c=b;b=k[b>>2]|0;$c(c)}while((b|0)!=0);k[a+4>>2]=0;return}function Ul(a){a=a|0;var b=0,c=0,d=0,e=0;if(a){d=k[a>>2]|0;qg(d,a);e=k[a+48>>2]|0;c=a+52|0;b=k[c>>2]|0;if(!e)k[d+4>>2]=b;else{k[e+52>>2]=b;b=k[c>>2]|0}if(b)k[b+48>>2]=e;k[a+40>>2]=-1241070648;k[a>>2]=0;rg(d,a)}return}function Vl(a){a=a|0;var b=0;i[a+65>>0]=0;k[a+52>>2]=7;a=k[a+236>>2]|0;do if(a){b=a+8|0;if(!(j[b>>1]&9312)){j[b>>1]=1;break}else{Ag(a);break}}while(0);return}function Wl(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,l=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=r;r=r+32|0;if((r|0)>=(s|0))ka();u=E;x=E+16|0;o=E+12|0;p=E+8|0;D=k[a>>2]|0;if(i[D+65>>0]|0)k[a+80>>2]=7;c=k[a+200>>2]|0;if(c)kw(c|0,0,k[a+196>>2]|0)|0;e=a+176|0;c=k[e>>2]|0;if(c){while(1){d=k[c+4>>2]|0;if(!d)break;else c=d}am(c)|0;k[e>>2]=0;k[a+184>>2]=0}l=a+56|0;c=k[l>>2]|0;a:do if((c|0)!=0?(n=a+36|0,b=k[n>>2]|0,(b|0)>0):0){e=0;while(1){d=k[c+(e<<2)>>2]|0;if(!d)d=b;else{Gm(a,d);k[(k[l>>2]|0)+(e<<2)>>2]=0;d=k[n>>2]|0}e=e+1|0;if((e|0)>=(d|0))break a;c=k[l>>2]|0;b=d}}while(0);c=k[a+8>>2]|0;if(c)hh(c+40|0,k[a+28>>2]|0);n=a+180|0;c=k[n>>2]|0;if(c)do{k[n>>2]=k[c+4>>2];l=c+80|0;b=c+60|0;d=k[b>>2]|0;g=l+(d*40|0)|0;h=c+64|0;if((k[h>>2]|0)>0){e=0;do{Gm(k[c>>2]|0,k[g+(e<<2)>>2]|0);e=e+1|0}while((e|0)<(k[h>>2]|0));d=k[b>>2]|0}hh(l,d);rg(k[k[c>>2]>>2]|0,c);c=k[n>>2]|0}while((c|0)!=0);if(k[a+204>>2]|0)jm(a,-1,0);B=a+40|0;b:do if((k[B>>2]|0)==-1108210269){z=a+76|0;if((k[z>>2]|0)>-1){A=a+88|0;h=j[A>>1]|0;if(h&128){y=a+80|0;e=k[y>>2]|0;g=e&255;d=g+-7|0;do if(d>>>0<7?(f=(77>>>(d&127)&1)!=0,f):0)if((h&64)==0|(g|0)!=9){if((g|0)==7|(g|0)==13?(h&32)!=0:0){b=2;break}Pl(D,516);Ql(D);i[D+63>>0]=1;k[a+92>>2]=0;e=k[y>>2]|0;b=0}else{f=1;b=0}else{f=0;b=0}while(0);if((e|0)==0?(w=a+144|0,v=k[w+4>>2]|0,(v|0)>0|(v|0)==0&(k[w>>2]|0)>>>0>0):0){w=k[a>>2]|0;k[y>>2]=787;i[a+86>>0]=2;ih(a+44|0,w,34376,u)}g=D+304|0;if((k[g>>2]|0)>0?(k[D+328>>2]|0)==0:0)C=141;else if((i[D+63>>0]|0)!=0?(k[D+156>>2]|0)==(((m[A>>1]|0)>>>6&1^1)&65535|0):0){do if(!(k[y>>2]|0))C=41;else{if(!((i[a+86>>0]|0)!=3|f)){C=41;break}Pl(D,0);k[a+92>>2]=0}while(0);c:do if((C|0)==41){d:do if(ym(a,1)|0)if(!(j[A>>1]&64))c=787;else{b=1;break b}else{f=D+328|0;d=k[f>>2]|0;k[f>>2]=0;e=k[g>>2]|0;e:do if((e|0)>0){h=0;f:while(1){n=k[(k[d+(h<<2)>>2]|0)+8>>2]|0;do if(n){l=k[(k[n>>2]|0)+60>>2]|0;if(!l)break;c=qc[l&127](n)|0;Rm(a,n);if(c)break f;e=k[g>>2]|0}while(0);h=h+1|0;if((h|0)>=(e|0)){C=50;break e}}k[f>>2]=d;C=135}else C=50;while(0);g:do if((C|0)==50){k[f>>2]=d;v=D+20|0;w=D+16|0;l=0;e=0;h=0;h:while(1){g=k[v>>2]|0;if((l|0)>=(g|0)){d=e;break}f=k[w>>2]|0;n=l;while(1){l=k[f+(n<<4)+4>>2]|0;if((l|0)!=0?(i[l+8>>0]|0)==2:0)break;n=n+1|0;if((n|0)>=(g|0)){d=e;break h}}c=k[l+4>>2]|0;k[c+4>>2]=k[l>>2];c=gp(k[c>>2]|0)|0;if(!c){l=n+1|0;e=((n|0)!=1&1)+e|0;h=1}else{C=135;break g}}do if(h){f=k[D+196>>2]|0;if(!f)break;if(qc[f&127](k[D+192>>2]|0)|0){c=531;break d}}while(0);e=k[(k[w>>2]|0)+4>>2]|0;h=k[k[e+4>>2]>>2]|0;g=(i[h+15>>0]|0)==0;if(g){n=k[h+168>>2]|0;if(n)C=62}else{n=10360;C=62}do if((C|0)==62){l=n;while(1)if(!(i[l>>0]|0))break;else l=l+1|0;if((l-n&1073741823|0)==0|(d|0)<2)break;t=k[D>>2]|0;if(g){f=k[h+168>>2]|0;k[x>>2]=0;if(!f){n=0;f=0}else C=80}else{k[x>>2]=0;f=10360;C=80}if((C|0)==80){h=f;while(1)if(!(i[h>>0]|0))break;else h=h+1|0;n=h-f&1073741823}k[u>>2]=f;q=zh(D,44696,u)|0;if(!q){c=7;break d}n=q+n|0;l=t+32|0;h=0;i:while(1){do if(h){if((h|0)>100){C=87;break i}if((h|0)!=1)break;k[u>>2]=q;gd(13,44728,u)}while(0);hd(4,p);c=k[p>>2]|0;k[u>>2]=c>>>8;k[u+4>>2]=c&255;fd(13,n,44744,u)|0;c=uc[k[l>>2]&31](t,q,0,o)|0;g=(c|0)==0;if(g&(k[o>>2]|0)!=0)h=h+1|0;else{C=91;break}}if((C|0)==87){k[u>>2]=q;gd(13,44712,u);fc[k[t+28>>2]&63](t,q,0)|0;C=92}else if((C|0)==91)if(g)C=92;do if((C|0)==92){c=rp(t,q,x,16406,0)|0;if(c)break;f=k[v>>2]|0;j:do if((f|0)>0){o=0;l=0;p=0;h=0;k:while(1){n=k[(k[w>>2]|0)+(p<<4)+4>>2]|0;do if(!n)n=o;else{if((i[n+8>>0]|0)!=2){n=o;break}g=k[n+4>>2]|0;e=k[g>>2]|0;d=k[e+172>>2]|0;if(!d){n=o;break}if(!h){k[g+4>>2]=k[n>>2];h=(i[e+7>>0]|0)==0&1}e=k[x>>2]|0;n=d;while(1)if(!(i[n>>0]|0))break;else n=n+1|0;g=d;c=yc[k[(k[e>>2]|0)+12>>2]&31](e,d,(n-g&1073741823)+1|0,o,l)|0;n=d;while(1)if(!(i[n>>0]|0))break;else n=n+1|0;if(c){f=e;C=106;break k}n=ow((n-g&1073741823)+1|0,0,o|0,l|0)|0;f=k[v>>2]|0;l=L}while(0);p=p+1|0;if((p|0)>=(f|0))break;else o=n}if((C|0)==106){d=k[f>>2]|0;if(d){qc[k[d+4>>2]&127](e)|0;k[f>>2]=0}$c(e);fc[k[t+28>>2]&63](t,q,0)|0;rg(D,q);C=135;break g}do if(!h)h=0;else{g=k[x>>2]|0;if((qc[k[(k[g>>2]|0)+48>>2]&127](g)|0)&1024)break;c=wc[k[(k[g>>2]|0)+20>>2]&127](g,2)|0;if(!c)break;d=k[g>>2]|0;if(d){qc[k[d+4>>2]&127](g)|0;k[g>>2]=0}$c(g);fc[k[t+28>>2]&63](t,q,0)|0;rg(D,q);C=135;break g}while(0);e=k[v>>2]|0;if((e|0)>0)n=0;else{n=1;c=0;break}while(1){g=k[(k[w>>2]|0)+(n<<4)+4>>2]|0;if(g){c=Pg(g,q)|0;if(c){n=0;break j}e=k[v>>2]|0}n=n+1|0;if((n|0)>=(e|0)){n=1;c=0;break}}}else{n=1;h=0;c=0}while(0);g=k[x>>2]|0;f=k[g>>2]|0;if(f){qc[k[f+4>>2]&127](g)|0;k[g>>2]=0}$c(g);if(!n){rg(D,q);C=135;break g}c=fc[k[t+28>>2]&63](t,q,h)|0;rg(D,q);if(c){C=135;break g}c=k[3164]|0;if(c)sc[c&3]();c=k[v>>2]|0;if((c|0)>0){e=0;do{d=k[(k[w>>2]|0)+(e<<4)+4>>2]|0;if(d){Og(d,1)|0;c=k[v>>2]|0}e=e+1|0}while((e|0)<(c|0))}c=k[3166]|0;if(c)sc[c&3]();Wn(D,64);break g}while(0);rg(D,q);C=135;break g}while(0);c=k[v>>2]|0;do if((c|0)>0){d=1;while(1){if(e){c=Pg(e,0)|0;if(c){C=135;break g}c=k[v>>2]|0}if((d|0)>=(c|0))break;e=k[(k[w>>2]|0)+(d<<4)+4>>2]|0;d=d+1|0}if((c|0)>0)e=0;else break;do{d=k[(k[w>>2]|0)+(e<<4)+4>>2]|0;if(d){c=Og(d,0)|0;if(c){C=135;break g}c=k[v>>2]|0}e=e+1|0}while((e|0)<(c|0))}while(0);Wn(D,64)}while(0);do if((C|0)==135){if(!c)break;else if((c|0)!=5)break d;if(!(j[A>>1]&64)){c=5;break d}else{b=5;break b}}while(0);x=D+504|0;C=D+24|0;k[x+0>>2]=0;k[x+4>>2]=0;k[x+8>>2]=0;k[x+12>>2]=0;k[C>>2]=k[C>>2]&-16777219;break c}while(0);k[y>>2]=c;Pl(D,0);k[a+92>>2]=0}while(0);k[D+500>>2]=0;C=146}else C=141;do if((C|0)==141)if(!b)if(k[y>>2]|0){c=i[a+86>>0]|0;if(c<<24>>24==2){b=2;C=147;break}else if(c<<24>>24==3){b=1;C=147;break}else{Pl(D,516);Ql(D);i[D+63>>0]=1;k[a+92>>2]=0;C=146;break}}else{b=1;C=147}else C=147;while(0);if((C|0)==146)if(!b)b=0;else C=147;if((C|0)==147){c=em(a,b)|0;if(c){C=k[y>>2]|0;if((C|0)==0|(C&255|0)==19){k[y>>2]=c;C=a+44|0;rg(D,k[C>>2]|0);k[C>>2]=0}Pl(D,516);Ql(D);i[D+63>>0]=1;k[a+92>>2]=0}}if(j[A>>1]&4){if((b|0)==2){k[D+80>>2]=0;b=a+92|0}else{b=a+92|0;y=k[b>>2]|0;k[D+80>>2]=y;C=D+84|0;k[C>>2]=(k[C>>2]|0)+y}k[b>>2]=0}}if((k[z>>2]|0)>-1){b=D+148|0;k[b>>2]=(k[b>>2]|0)+-1;b=j[A>>1]|0;if(!(b&64)){b=D+156|0;k[b>>2]=(k[b>>2]|0)+-1;b=j[A>>1]|0}if(b&128){C=D+152|0;k[C>>2]=(k[C>>2]|0)+-1}}}k[B>>2]=1369188723;b=a+80|0;if(!(i[(k[a>>2]|0)+65>>0]|0)){b=(k[b>>2]|0)==5?5:0;break}else{k[b>>2]=7;b=0;break}}else b=0;while(0);r=E;return b|0}function Xl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=a+8|0;d=m[e>>1]|0;do if(d&18){j[e>>1]=d|2;if(d&16384)Wg(a)|0;c=a+10|0;b=b&255;d=b&247;if((l[c>>0]|0|0)!=(d|0))bm(a,d)|0;if(((b&8|0)!=0?(k[a+16>>2]&1|0)!=0:0)?(_l(a)|0)!=0:0){c=0;break}if((j[e>>1]&514)==2){fm(a)|0;f=12}else f=12}else{gm(a,b,0)|0;d=b&247;c=a+10|0;f=12}while(0);if((f|0)==12)if((l[c>>0]|0|0)==(d|0))c=k[a+16>>2]|0;else c=0;return c|0}function Yl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0.0,g=0,h=0.0,j=0,k=0,m=0,n=0,o=0,q=0,r=0,s=0;p[b>>3]=0.0;g=d&255;if(d<<24>>24==1){d=a;e=c;o=1;s=0}else{e=3-g|0;a:do if((e|0)<(c|0))while(1){d=e+2|0;if(i[a+e>>0]|0){c=1;break a}if((d|0)<(c|0))e=d;else{c=0;e=d;break}}else c=0;while(0);d=a+(g&1)|0;e=g+-3+e|0;o=2;s=c}r=a+e|0;b:do if(d>>>0<r>>>0){while(1){e=i[d>>0]|0;if(!(i[10368+(e&255)>>0]&1))break;d=d+o|0;if(d>>>0>=r>>>0){d=0;break b}}if(e<<24>>24==45){d=d+o|0;q=-1}else if(e<<24>>24==43){d=d+o|0;q=1}else q=1;c:do if(d>>>0<r>>>0){e=0;do{if((i[d>>0]|0)!=48)break c;d=d+o|0;e=e+1|0}while(d>>>0<r>>>0)}else e=0;while(0);d:do if(d>>>0<r>>>0){a=0;g=0;while(1){c=i[d>>0]|0;if(!(((c&255)+-48|0)>>>0<10&((a|0)<214748364|(a|0)==214748364&g>>>0<3435973835))){j=a;break d}g=xw(g|0,a|0,10,0)|0;a=(c<<24>>24)+-48|0;g=ow(a|0,((a|0)<0)<<31>>31|0,g|0,L|0)|0;a=L;d=d+o|0;e=e+1|0;if(d>>>0>=r>>>0){j=a;break}}}else{g=0;j=0}while(0);e:do if(d>>>0<r>>>0){c=0;while(1){a=i[d>>0]|0;if(((a&255)+-48|0)>>>0>=10){k=c;break}d=d+o|0;e=e+1|0;a=c+1|0;if(d>>>0<r>>>0)c=a;else{m=j;k=a;a=0;j=1;c=1;break e}}f:do if(a<<24>>24==46){c=d+o|0;g:do if(c>>>0<r>>>0){m=c;while(1){a=i[m>>0]|0;if(!(((a&255)+-48|0)>>>0<10&((j|0)<214748364|(j|0)==214748364&g>>>0<3435973835))){c=m;m=j;break g}g=xw(g|0,j|0,10,0)|0;j=(a<<24>>24)+-48|0;g=ow(j|0,((j|0)<0)<<31>>31|0,g|0,L|0)|0;j=L;e=e+1|0;a=k+-1|0;c=d+(o<<1)|0;if(c>>>0<r>>>0){d=m;m=c;k=a}else{d=m;m=j;k=a;break}}}else m=j;while(0);if(c>>>0<r>>>0){j=o<<1;while(1){if(((l[c>>0]|0)+-48|0)>>>0>=10)break f;a=d+j|0;e=e+1|0;if(a>>>0<r>>>0){d=c;c=a}else{c=a;break}}}}else{c=d;m=j}while(0);if(c>>>0<r>>>0){n=i[c>>0]|0;h:do if(n<<24>>24==69|n<<24>>24==101){d=c+o|0;if(d>>>0>=r>>>0){a=0;j=0;c=1;break e}a=i[d>>0]|0;if(a<<24>>24==45){d=c+(o<<1)|0;n=-1}else if(a<<24>>24==43){d=c+(o<<1)|0;n=1}else n=1;if(d>>>0<r>>>0){c=0;j=0}else{a=0;j=0;c=n;break e}while(1){a=i[d>>0]|0;if(((a&255)+-48|0)>>>0>=10){a=c;c=n;break h}if((c|0)<1e4)a=(c*10|0)+-48+(a<<24>>24)|0;else a=1e4;d=d+o|0;if(d>>>0<r>>>0){c=a;j=1}else{j=1;c=n;break}}}else{d=c;a=0;j=1;c=1}while(0);if((e|0)!=0&(j|0)!=0&d>>>0<r>>>0)do{if(!(i[10368+(l[d>>0]|0)>>0]&1))break e;d=d+o|0}while(d>>>0<r>>>0)}else{d=c;a=0;j=1;c=1}}else{m=j;k=0;a=0;j=1;c=1}while(0);a=(ha(a,c)|0)+k|0;n=(a|0)<0;c=n?0-a|0:a;do if((g|0)==0&(m|0)==0)if((q|0)<0)f=(e|0)!=0?-0.0:0.0;else f=0.0;else{if((a>>31|1|0)>0)if(((m|0)<214748364|(m|0)==214748364&g>>>0<3435973836)&(c|0)>0){a=m;do{c=c+-1|0;g=xw(g|0,a|0,10,0)|0;a=L}while(((a|0)<214748364|(a|0)==214748364&g>>>0<3435973836)&(c|0)>0)}else a=m;else{k=ww(g|0,m|0,10,0)|0;if((k|0)==0&(L|0)==0&(c|0)>0){a=m;do{c=c+-1|0;g=vw(g|0,a|0,10,0)|0;a=L;m=ww(g|0,a|0,10,0)|0}while((m|0)==0&(L|0)==0&(c|0)>0)}else a=m}m=(q|0)<0;k=iw(0,0,g|0,a|0)|0;k=m?k:g;m=m?L:a;if(!c){f=+(k>>>0)+4294967296.0*+(m|0);break}if((c+-308|0)>>>0<34){if(!((c|0)%308|0))h=1.0;else{f=1.0;do{f=f*10.0;c=c+-1|0}while(((c|0)%308|0|0)!=0);h=f}f=+(k>>>0)+4294967296.0*+(m|0);if(n){f=f/h/1.e+308;break}else{f=f*h*1.e+308;break}}if((c|0)>341){f=+(k>>>0)+4294967296.0*+(m|0);if(n){f=f*0.0;break}else{f=f*B;break}}if(!((c|0)%22|0)){g=c;f=1.0}else{g=c;f=1.0;do{f=f*10.0;g=g+-1|0}while(((g|0)%22|0|0)!=0)}if((g|0)>0){do{f=f*1.0e22;g=g+-22|0}while((g|0)>0);h=f}else h=f;f=+(k>>>0)+4294967296.0*+(m|0);if(n){f=f/h;break}else{f=f*h;break}}while(0);p[b>>3]=f;d=d>>>0>=r>>>0&(e|0)>0&(j|0)!=0&(s|0)==0&1}else d=0;while(0);return d|0}function Zl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;g=d&255;if(d<<24>>24==1){e=a;f=c;n=1;c=0}else{f=3-g|0;a:do if((f|0)<(c|0))while(1){d=f+2|0;if(i[a+f>>0]|0){c=1;break a}if((d|0)<(c|0))f=d;else{c=0;f=d;break}}else c=0;while(0);e=a+(g&1)|0;f=g+-3+f|0;n=2}j=a+f|0;b:do if(e>>>0<j>>>0){while(1){f=i[e>>0]|0;if(!(i[10368+(f&255)>>0]&1))break;e=e+n|0;if(e>>>0>=j>>>0){l=0;break b}}if(f<<24>>24==45){e=e+n|0;l=1;break}else if(f<<24>>24==43){e=e+n|0;l=0;break}else{l=0;break}}else l=0;while(0);c:do if(e>>>0<j>>>0){f=e;while(1){if((i[f>>0]|0)!=48){m=f;break c}f=f+n|0;if(f>>>0>=j>>>0){m=f;break}}}else m=e;while(0);do if(m>>>0<j>>>0){a=m;h=0;g=0;f=0;while(1){d=i[a>>0]|0;if((d+-48&255)>=10){a=0;j=g;break}g=xw(h|0,g|0,10,0)|0;h=d<<24>>24;g=ow(g|0,L|0,-48,-1)|0;h=ow(g|0,L|0,h|0,((h|0)<0)<<31>>31|0)|0;g=L;f=f+n|0;a=m+f|0;if(a>>>0>=j>>>0){a=1;j=g;break}}g=d<<24>>24;d=(l|0)!=0;if((j|0)>=0)if(d){d=j;p=22;break}else{d=j;p=23;break}else{h=b;k[h>>2]=d?0:-1;k[h+4>>2]=d?-2147483648:2147483647;h=d?0:2;break}}else if(!l){a=1;h=0;d=0;g=0;f=0;p=23}else{a=1;h=0;d=0;g=0;f=0;p=22}while(0);if((p|0)==22){l=iw(0,0,h|0,d|0)|0;h=b;k[h>>2]=l;k[h+4>>2]=L;h=0}else if((p|0)==23){l=b;k[l>>2]=h;k[l+4>>2]=d;h=2}if(((g|0)==0|a?!((f|0)==0&(e|0)==(m|0)):0)?(o=n*19|0,!((f|0)>(o|0)|(c|0)!=0)):0)if((f|0)>=(o|0)){f=0;do{e=m+(ha(f,n)|0)|0;e=i[e>>0]|0;c=i[11192+f>>0]|0;f=f+1|0;d=e<<24>>24==c<<24>>24}while(d&(f|0)<18);if(d)e=(i[m+(n*18|0)>>0]|0)+-56|0;else e=((e<<24>>24)-(c<<24>>24)|0)*10|0;if((e|0)>=0)return ((e|0)>0?1:h)|0;else e=0}else e=0;else e=1;return e|0}function _l(a){a=a|0;var b=0,c=0;c=a+8|0;b=j[c>>1]|0;if(b&16384){Wg(a)|0;b=j[c>>1]|0}do if(b&18){if((k[a+24>>2]|0)!=0?(k[a+16>>2]|0)==(k[a+20>>2]|0):0){b=0;break}b=a+12|0;if(!(jh(a,(k[b>>2]|0)+2|0,1)|0)){a=a+16|0;i[(k[a>>2]|0)+(k[b>>2]|0)>>0]=0;i[(k[a>>2]|0)+((k[b>>2]|0)+1)>>0]=0;j[c>>1]=m[c>>1]|0|512;b=0}else b=7}else b=0;while(0);return b|0}function $l(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=wo(a,b,c,d)|0;if(!c)rg(a,b);return c|0}function am(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;c=k[a>>2]|0;k[c+200>>2]=k[a+20>>2];k[c+196>>2]=k[a+56>>2];k[c+4>>2]=k[a+8>>2];k[c+32>>2]=k[a+48>>2];k[c+8>>2]=k[a+16>>2];k[c+28>>2]=k[a+52>>2];k[c+56>>2]=k[a+24>>2];k[c+36>>2]=k[a+40>>2];f=a+32|0;e=k[f+4>>2]|0;b=k[c>>2]|0;d=b+32|0;k[d>>2]=k[f>>2];k[d+4>>2]=e;k[c+92>>2]=k[a+68>>2];k[b+80>>2]=k[a+72>>2];return k[a+44>>2]|0}function bm(a,b){a=a|0;b=b|0;if((j[a+8>>1]&2)!=0?(l[a+10>>0]|0|0)!=(b|0):0)b=Gn(a,b&255)|0;else b=0;return b|0}function cm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=a+8|0;if(j[d>>1]&9312)Ag(a);k[a+0>>2]=k[b+0>>2];k[a+4>>2]=k[b+4>>2];k[a+8>>2]=k[b+8>>2];k[a+12>>2]=k[b+12>>2];k[a+16>>2]=k[b+16>>2];if(!(j[b+8>>1]&2048))j[d>>1]=(m[d>>1]|0)&58367|c;return}function dm(a,b){a=a|0;b=b|0;var c=0,d=0;if(!((j[a+8>>1]&9312)==0?(k[a+24>>2]|0)==0:0))Vg(a);a=a+0|0;c=b+0|0;d=a+40|0;do{k[a>>2]=k[c>>2];a=a+4|0;c=c+4|0}while((a|0)<(d|0));j[b+8>>1]=1;k[b+24>>2]=0;return}function em(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=k[a>>2]|0;m=p+500|0;e=k[m>>2]|0;do if((e|0)!=0?(n=a+104|0,d=k[n>>2]|0,(d|0)!=0):0){o=d+-1|0;j=p+20|0;d=k[j>>2]|0;if((d|0)>0){h=p+16|0;i=(b|0)==2;f=d;g=0;d=0;do{e=k[(k[h>>2]|0)+(g<<4)+4>>2]|0;if(e){if(i?(l=zm(e,2,o)|0,(l|0)!=0):0)e=l;else e=zm(e,1,o)|0;f=k[j>>2]|0;d=(d|0)==0?e:d}g=g+1|0}while((g|0)<(f|0));k[m>>2]=(k[m>>2]|0)+-1;k[n>>2]=0;if(!d)d=13;else{c=d;d=16}}else{k[m>>2]=e+-1;k[n>>2]=0;d=13}do if((d|0)==13){if((b|0)==2?(c=xm(p,2,o)|0,(c|0)!=0):0)break;c=xm(p,1,o)|0;d=16}while(0);if((d|0)==16)if((b|0)!=2)break;m=a+152|0;l=k[m+4>>2]|0;j=p+504|0;k[j>>2]=k[m>>2];k[j+4>>2]=l;j=a+160|0;l=k[j+4>>2]|0;m=p+512|0;k[m>>2]=k[j>>2];k[m+4>>2]=l}else c=0;while(0);return c|0}function fm(a){a=a|0;var b=0,c=0;b=a+12|0;if(!(jh(a,(k[b>>2]|0)+2|0,1)|0)){c=a+16|0;i[(k[c>>2]|0)+(k[b>>2]|0)>>0]=0;i[(k[c>>2]|0)+((k[b>>2]|0)+1)>>0]=0;b=a+8|0;j[b>>1]=m[b>>1]|0|512;b=0}else b=7;return b|0}function gm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,l=0,n=0,o=0;l=r;r=r+16|0;if((r|0)>=(s|0))ka();g=l;h=a+8|0;e=j[h>>1]|0;if(!(kh(a,32)|0)){d=a+16|0;f=k[d>>2]|0;if(!(e&4)){p[t>>3]=+p[a>>3];k[g>>2]=k[t>>2];k[g+4>>2]=k[t+4>>2];fd(32,f,20272,g)|0}else{o=a;n=k[o+4>>2]|0;e=g;k[e>>2]=k[o>>2];k[e+4>>2]=n;fd(32,f,19920,g)|0}e=k[d>>2]|0;if(!e)d=0;else{d=e;while(1)if(!(i[d>>0]|0))break;else d=d+1|0;d=d-e&1073741823}k[a+12>>2]=d;i[a+10>>0]=1;d=m[h>>1]|514;j[h>>1]=c<<24>>24==0?d:d&65523;bm(a,b&255)|0;d=0}else d=7;r=l;return d|0}function hm(a){a=a|0;var b=0,c=0;b=m[a+8>>1]|0;c=b&12;if(!c)if(!(b&18))b=0;else b=sp(a)|0;else b=c&65535;return b|0}function im(a){a=a|0;var b=0.0,c=0,d=0,e=0,f=0;b=+p[a>>3];if(!(b<=-9223372036854775808.0)&!(b>=9223372036854775808.0)?(c=~~b>>>0,d=+W(b)>=1.0?(b>0.0?~~+ia(+V(b/4294967296.0),4294967295.0)>>>0:~~+ga((b-+(~~b>>>0))/4294967296.0)>>>0):0,e=ow(c|0,d|0,1,-2147483648)|0,f=L,!(b!=+(c>>>0)+4294967296.0*+(d|0)|(f>>>0<0|(f|0)==0&e>>>0<2))):0){e=a;k[e>>2]=c;k[e+4>>2]=d;c=a+8|0;j[c>>1]=(m[c>>1]|0)&48640|4}return}function jm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;e=a+204|0;d=k[e>>2]|0;a:do if(d){g=(b|0)<0;do{while(1){if(!g){if((k[d>>2]|0)!=(b|0))break;f=k[d+4>>2]|0;if((f|0)<=31?(1<<f&c|0)!=0:0)break}f=k[d+12>>2]|0;if(f)hc[f&31](k[d+8>>2]|0);k[e>>2]=k[d+16>>2];rg(k[a>>2]|0,d);d=k[e>>2]|0;if(!d)break a}e=d+16|0;d=k[e>>2]|0}while((d|0)!=0)}while(0);return}function km(a,b,c){a=a|0;b=b|0;c=c|0;do if(b<<24>>24>66){b=m[a+8>>1]|0;if(!(b&4)){if(b&8){im(a);break}if(b&2)wh(a,1)}}else if(b<<24>>24==66?(b=m[a+8>>1]|0,!((b&2|0)!=0|(b&12|0)==0)):0)gm(a,c,1)|0;while(0);return}function lm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0.0;f=a+8|0;d=j[f>>1]|0;e=d&65535;do if(!(e&1)){b=b&255;if((b|0)==69){g=+Zg(a);p[a>>3]=g;j[f>>1]=(m[f>>1]|0)&48640|8;break}else if((b|0)==65){if(e&16){j[f>>1]=e&65040;break}if(!((e&2|0)!=0|(e&12|0)==0)){gm(a,c,1)|0;d=j[f>>1]|0}j[f>>1]=d&48640|16;break}else if((b|0)==67){tp(a);break}else if((b|0)==68){b=_g(a)|0;d=a;k[d>>2]=b;k[d+4>>2]=L;j[f>>1]=(m[f>>1]|0)&48640|4;break}else{b=e>>>3&2|e;d=b&65535;j[f>>1]=d;if(!((b&2|0)!=0|(e&12|0)==0)){gm(a,c,1)|0;d=j[f>>1]|0}j[f>>1]=d&49123;break}}while(0);return}function mm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0.0,f=0,g=0.0,h=0,i=0,l=0;i=j[a+8>>1]|0;h=i&65535;f=j[b+8>>1]|0;l=f&65535;d=(f|i)&65535;do if(!(d&1)){if(!(d&12)){if(d&2){if(!(h&2)){d=1;break}if(!(l&2)){d=-1;break}if(c){d=up(a,b,c,0)|0;break}}d=vp(a,b)|0;break}if((i&4&f)<<16>>16){i=a;h=k[i>>2]|0;i=k[i+4>>2]|0;f=b;d=k[f>>2]|0;f=k[f+4>>2]|0;if((i|0)<(f|0)|(i|0)==(f|0)&h>>>0<d>>>0){d=-1;break}d=((i|0)>(f|0)|(i|0)==(f|0)&h>>>0>d>>>0)&1;break}if(!(h&8)){if(!(h&4)){d=1;break}d=a;g=+((k[d>>2]|0)>>>0)+4294967296.0*+(k[d+4>>2]|0)}else g=+p[a>>3];if(!(l&8)){if(!(l&4)){d=-1;break}d=b;e=+((k[d>>2]|0)>>>0)+4294967296.0*+(k[d+4>>2]|0)}else e=+p[b>>3];if(g<e)d=-1;else d=g>e&1}else d=(l&1)-(h&1)|0;while(0);return d|0}function nm(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;if((r|0)>=(s|0))ka();d=e;c=e+8|0;b=a+48|0;b=Hm(k[a>>2]|0,0,k[b>>2]|0,k[b+4>>2]|0,0,c)|0;do if(!b)if(!(k[c>>2]|0)){i[a+26>>0]=0;k[a+60>>2]=0;b=0;break}else{k[d>>2]=67421;k[d+4>>2]=10788;gd(11,13600,d);b=11;break}while(0);r=e;return b|0}function om(a){a=a|0;var b=0,c=0,d=0;c=k[a>>2]|0;d=c+73|0;b=i[d>>0]|0;do if((b&255)>2){b=Pn(c)|0;if(!b){b=i[d>>0]|0;d=5;break}else{k[a+60>>2]=0;d=6;break}}else d=5;while(0);if((d|0)==5){k[a+60>>2]=0;if(b<<24>>24==1)b=0;else{b=0;d=6}}if((d|0)==6)i[a+25>>0]=1;return b|0}function pm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=a+24|0;if(!(j[a+44>>1]|0)){e=j[a+76>>1]|0;d=k[a+(e<<2)+120>>2]|0;e=m[a+(e<<1)+78>>1]<<1;f=k[d+64>>2]|0;wp(d,(k[d+56>>2]|0)+((l[f+e>>0]<<8|l[f+(e|1)>>0])&m[d+20>>1])|0,c);a=a+72|0;i[a>>0]=l[a>>0]|2}d=c;a=k[d+4>>2]|0;c=b;k[c>>2]=k[d>>2];k[c+4>>2]=a;return}function qm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if(!(j[a+44>>1]|0)){d=j[a+76>>1]|0;c=k[a+(d<<2)+120>>2]|0;d=m[a+(d<<1)+78>>1]<<1;e=k[c+64>>2]|0;wp(c,(k[c+56>>2]|0)+((l[e+d>>0]<<8|l[e+(d|1)>>0])&m[c+20>>1])|0,a+24|0);c=a+72|0;i[c>>0]=l[c>>0]|2}k[b>>2]=k[a+36>>2];return}function rm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;if((r|0)>=(s|0))ka();f=g;c=l[a>>0]|0;e=l[a+1>>0]|0;do if(e&128){d=l[a+2>>0]|0;if(!(d&128)){k[b>>2]=(d|c<<14)&2080895|e<<7&16256;c=3;break}else{c=xp(a,f)|0;e=f;d=k[e>>2]|0;k[b>>2]=((d|0)==(d|0)?0==(k[e+4>>2]|0):0)?d:-1;break}}else{k[b>>2]=c<<7&16256|e;c=2}while(0);r=g;return c|0}function sm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=(d|0)==0;do if((c+b|0)>>>0>(m[a+40>>1]|0)>>>0){h=e+8|0;j[h>>1]=1;d=kh(e,c+2|0)|0;if(!d){g=e+16|0;d=k[g>>2]|0;if(f)d=Ih(a,b,c,d)|0;else d=Qm(a,b,c,d,0)|0;if(!d){i[(k[g>>2]|0)+c>>0]=0;i[(k[g>>2]|0)+(c+1)>>0]=0;j[h>>1]=528;k[e+12>>2]=c;d=0;break}if((j[h>>1]&9312)==0?(k[e+24>>2]|0)==0:0)break;Vg(e)}}else{k[e+16>>2]=(k[a+32>>2]|0)+b;j[e+8>>1]=4112;k[e+12>>2]=c;d=0}while(0);return d|0}function tm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;switch(b|0){case 9:case 8:{a=c;k[a>>2]=b+-8;k[a+4>>2]=0;j[c+8>>1]=4;a=0;break}case 4:{b=l[a+1>>0]<<16|i[a>>0]<<24|l[a+2>>0]<<8|l[a+3>>0];a=c;k[a>>2]=b;k[a+4>>2]=((b|0)<0)<<31>>31;j[c+8>>1]=4;a=4;break}case 1:{b=i[a>>0]|0;a=c;k[a>>2]=b;k[a+4>>2]=((b|0)<0)<<31>>31;j[c+8>>1]=4;a=1;break}case 3:{b=l[a+1>>0]<<8|i[a>>0]<<16|l[a+2>>0];a=c;k[a>>2]=b;k[a+4>>2]=((b|0)<0)<<31>>31;j[c+8>>1]=4;a=3;break}case 2:{b=i[a>>0]<<8|l[a+1>>0];a=c;k[a>>2]=b;k[a+4>>2]=((b|0)<0)<<31>>31;j[c+8>>1]=4;a=2;break}case 5:{d=i[a>>0]<<8|l[a+1>>0];b=c;k[b>>2]=l[a+3>>0]<<16|l[a+2>>0]<<24|l[a+4>>0]<<8|l[a+5>>0];k[b+4>>2]=d;j[c+8>>1]=4;a=6;break}case 7:case 6:{yp(a,b,c);a=8;break}case 0:case 11:case 10:{j[c+8>>1]=1;a=0;break}default:{k[c+16>>2]=a;a=(b+-12|0)>>>1;k[c+12>>2]=a;j[c+8>>1]=j[34328+((b&1)<<1)>>1]|0}}return a|0}function um(a,b,c){a=a|0;b=b|0;c=c|0;do if(!(c>>>0<0|(c|0)==0&b>>>0<128))if(c>>>0<0|(c|0)==0&b>>>0<16384){c=rw(b|0,c|0,7)|0;i[a>>0]=c|128;i[a+1>>0]=b&127;b=2;break}else{b=zp(a,b,c)|0;break}else{i[a>>0]=b&127;b=1}while(0);return b|0}function vm(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;if((r|0)>=(s|0))ka();f=g;e=a+73|0;b=i[e>>0]|0;do if((b&255)>2)if(b<<24>>24==4){b=k[a+68>>2]|0;break}else{c=a+56|0;$c(k[c>>2]|0);k[c>>2]=0;i[e>>0]=0;c=5;break}else c=5;while(0);a:do if((c|0)==5){d=a+76|0;b=j[d>>1]|0;do if(b<<16>>16<=-1){b=k[a+60>>2]|0;if(!b){i[e>>0]=0;b=0;break a}c=a+120|0;b=Ap(k[(k[a>>2]|0)+4>>2]|0,b,c,(i[a+72>>0]&1)<<1^2)|0;if(!b){j[d>>1]=0;b=c;break}else{i[e>>0]=0;break a}}else{if(b<<16>>16)do{c=b+-1<<16>>16;j[d>>1]=c;b=k[a+(b<<16>>16<<2)+120>>2]|0;if(!b)b=c;else{Gg(k[b+68>>2]|0);b=j[d>>1]|0}}while(b<<16>>16!=0);b=a+120|0}while(0);b=k[b>>2]|0;if((i[b>>0]|0)!=0?((k[a+16>>2]|0)==0|0)==(l[b+2>>0]|0):0){j[a+78>>1]=0;j[a+44>>1]=0;c=a+72|0;i[c>>0]=l[c>>0]&241;if(j[b+18>>1]|0){i[e>>0]=1;b=0;break}if(i[b+5>>0]|0){i[e>>0]=0;b=0;break}if((k[b+72>>2]|0)==1){c=l[b+6>>0]|0;b=k[b+56>>2]|0;b=l[b+(c+9)>>0]<<16|l[b+(c+8)>>0]<<24|l[b+(c+10)>>0]<<8|l[b+(c+11)>>0];i[e>>0]=1;b=wm(a,b)|0;break}else{k[f>>2]=57629;k[f+4>>2]=10788;gd(11,13600,f);b=11;break}}k[f>>2]=57618;k[f+4>>2]=10788;gd(11,13600,f);b=11}while(0);r=g;return b|0}function wm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;if((r|0)>=(s|0))ka();g=h;f=h+8|0;c=a+76|0;e=j[c>>1]|0;d=e<<16>>16;do if(e<<16>>16<=18){e=a+72|0;b=Ap(k[a+4>>2]|0,b,f,(i[e>>0]&1)<<1^2)|0;if(!b){b=k[f>>2]|0;f=d+1|0;k[a+(f<<2)+120>>2]=b;j[a+(f<<1)+78>>1]=0;j[c>>1]=(j[c>>1]|0)+1<<16>>16;j[a+44>>1]=0;i[e>>0]=l[e>>0]&249;if((j[b+18>>1]|0)!=0?(i[b+2>>0]|0)==(i[(k[a+(d<<2)+120>>2]|0)+2>>0]|0):0){b=0;break}k[g>>2]=57499;k[g+4>>2]=10788;gd(11,13600,g);b=11}}else{k[g>>2]=57487;k[g+4>>2]=10788;gd(11,13600,g);b=11}while(0);r=h;return b|0}function xm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=a+328|0;a:do if(!(k[i>>2]|0))a=0;else{f=a+304|0;g=c+1|0;h=0;while(1){if((h|0)>=(k[f>>2]|0)){a=0;break a}e=k[(k[i>>2]|0)+(h<<2)>>2]|0;a=k[k[e+4>>2]>>2]|0;d=k[e+8>>2]|0;if((d|0)!=0?(k[a>>2]|0)>1:0){if((b|0)==2)a=k[a+88>>2]|0;else if(!b){a=k[a+80>>2]|0;k[e+20>>2]=g}else a=k[a+84>>2]|0;if((a|0)!=0?(k[e+20>>2]|0)>(c|0):0){a=wc[a&127](d,c)|0;if(!a){h=h+1|0;continue}else break a}}h=h+1|0}}while(0);return a|0}function ym(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;if((r|0)>=(s|0))ka();d=f;c=k[a>>2]|0;if(!b){b=a+144|0;g=k[b+4>>2]|0;if((g|0)>0|(g|0)==0&(k[b>>2]|0)>>>0>0)e=4;else c=0}else{b=c+504|0;g=c+512|0;b=ow(k[g>>2]|0,k[g+4>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0;g=L;if((g|0)>0|(g|0)==0&b>>>0>0)e=4;else c=0}if((e|0)==4){k[a+80>>2]=787;i[a+86>>0]=2;ih(a+44|0,c,34376,d);c=1}r=f;return c|0}function zm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if((a|0)!=0?(i[a+8>>0]|0)==2:0){d=k[a+4>>2]|0;k[d+4>>2]=k[a>>2];b=op(k[d>>2]|0,b,c)|0;if(!b){if((c|0)<0?(j[d+22>>1]&8)!=0:0)k[d+44>>2]=0;b=Hg(d)|0;a=k[(k[d+12>>2]|0)+56>>2]|0;k[d+44>>2]=l[a+29>>0]<<16|l[a+28>>0]<<24|l[a+30>>0]<<8|l[a+31>>0]}}else b=0;return b|0}function Am(a,b){a=a|0;b=b|0;a=a+16|0;vl(k[(k[a>>2]|0)+(b<<4)+12>>2]|0);if((b|0)!=1)vl(k[(k[a>>2]|0)+28>>2]|0);return}function Bm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=k[a+4>>2]|0;k[d+4>>2]=k[a>>2];if((b|0)==15)d=(k[a+20>>2]|0)+(k[(k[d>>2]|0)+100>>2]|0)|0;else{b=b<<2;d=k[(k[d+12>>2]|0)+56>>2]|0;d=(l[d+(b+37)>>0]|0)<<16|(l[d+(b+36)>>0]|0)<<24|(l[d+(b+38)>>0]|0)<<8|(l[d+(b+39)>>0]|0)}k[c>>2]=d;return}function Cm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,l=0,m=0,n=0;h=(k[a+28>>2]|0)-b|0;f=k[a+8>>2]|0;n=(c<<3)+88|0;m=(e|0)!=0;l=a+56|0;g=k[(k[l>>2]|0)+(b<<2)>>2]|0;if(g){Gm(a,g);k[(k[l>>2]|0)+(b<<2)>>2]=0}if(!(kh(f+(h*40|0)|0,(m?200:0)+n|0)|0)){h=f+(h*40|0)+16|0;e=k[h>>2]|0;k[(k[l>>2]|0)+(b<<2)>>2]=e;f=e+0|0;g=f+88|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(g|0));i[e+24>>0]=d;j[e+20>>1]=c;k[e+80>>2]=e+84+(c<<2);if(m){f=(k[h>>2]|0)+n|0;k[e>>2]=f;f=f+0|0;g=f+76|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(g|0))}}else e=0;return e|0}function Dm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,l=0;h=k[a+4>>2]|0;k[h+4>>2]=k[a>>2];if(c)if(!(j[h+22>>1]&1)){g=h+80|0;if(!(k[g>>2]|0)){f=Lo(k[h+32>>2]|0)|0;k[g>>2]=f;if(!f)f=7;else{l=f;f=l;i[f>>0]=0;i[f+1>>0]=0;i[f+2>>0]=0;i[f+3>>0]=0;l=l+4|0;i[l>>0]=0;i[l+1>>0]=0;i[l+2>>0]=0;i[l+3>>0]=0;k[g>>2]=(k[g>>2]|0)+4;l=6}}else l=6}else f=8;else l=6;if((l|0)==6){if((b|0)==1)b=(k[h+44>>2]|0)!=0&1;k[e+60>>2]=b;j[e+76>>1]=-1;k[e+16>>2]=d;k[e>>2]=a;k[e+4>>2]=h;i[e+72>>0]=c;f=h+8|0;b=k[f>>2]|0;k[e+8>>2]=b;if(b)k[b+12>>2]=e;k[f>>2]=e;i[e+73>>0]=0;f=0}return f|0}function Em(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;P=r;r=r+128|0;if((r|0)>=(s|0))ka();A=P;H=P+12|0;E=P+8|0;M=P+16|0;K=(b|0)==0;if(!K){h=(i[b>>0]|0)==0;if(dw(b,14640)|0)if(h)G=4;else{h=0;G=5}else L=1}else G=4;if((G|0)==4)if((i[c+64>>0]|0)==2){L=1;h=1}else{h=1;G=5}if((G|0)==5)L=(f&128|0)!=0;J=L?e|2:e;if((f&256|0)!=0&(L|h))f=f&-769|512;O=vg(48,0)|0;a:do if(O){u=O+0|0;t=u+48|0;do{i[u>>0]=0;u=u+1|0}while((u|0)<(t|0));k[O>>2]=c;k[O+32>>2]=O;k[O+36>>2]=1;b:do if(!h?!(L&(f&64|0)==0|(f&131072|0)==0):0){if(K)h=1;else{h=b;while(1)if(!(i[h>>0]|0))break;else h=h+1|0;h=(h-b&1073741823)+1|0}e=(k[a+8>>2]|0)+1|0;p=(e|0)>(h|0)?e:h;p=vg(p,((p|0)<0)<<31>>31)|0;o=O+9|0;i[o>>0]=1;if(!p){$c(O);g=7;break a}if(!L){i[p>>0]=0;h=uc[k[a+36>>2]&31](a,b,e,p)|0;if(h){$c(p);$c(O);g=h;break a}}else pw(p|0,b|0,h|0)|0;h=k[3664]|0;c:do if(h){while(1){e=k[h>>2]|0;if((dw(p,k[e+168>>2]|0)|0)==0?(k[e>>2]|0)==(a|0):0)break;h=k[h+68>>2]|0;if(!h)break c}e=k[c+20>>2]|0;d:do if((e|0)>0){n=k[c+16>>2]|0;while(1){e=e+-1|0;D=k[n+(e<<4)+4>>2]|0;if((D|0)!=0?(k[D+4>>2]|0)==(h|0):0)break;if((e|0)<=0)break d}$c(p);$c(O);g=19;break a}while(0);k[O+4>>2]=h;D=h+64|0;k[D>>2]=(k[D>>2]|0)+1;$c(p);if(!h){G=32;break b}if(!(i[o>>0]|0))break b;else{G=105;break b}}while(0);$c(p);G=32}else G=32;while(0);e:do if((G|0)==32){I=vg(84,0)|0;if(I){u=I+0|0;t=u+84|0;do{i[u>>0]=0;u=u+1|0}while((u|0)<(t|0));C=J&1;D=(C|0)==0;k[H>>2]=1024;B=a+4|0;h=k[B>>2]|0;if((h|0)>40)e=h+7&-8;else e=40;k[I>>2]=0;do if(!(J&2))if(!K)if(i[b>>0]|0){v=a+8|0;o=(k[v>>2]|0)+1|0;x=o<<1;x=vg(x,((x|0)<0)<<31>>31)|0;if(!x)g=7;else{i[x>>0]=0;h=uc[k[a+36>>2]&31](a,b,o,x)|0;o=x;while(1)if(!(i[o>>0]|0))break;else o=o+1|0;u=o-x&1073741823;p=b;while(1)if(!(i[p>>0]|0))break;else p=p+1|0;t=(p-b&1073741823)+1|0;p=i[b+t>>0]|0;t=b+t|0;if(!(p<<24>>24))o=t;else{o=t;do{if(!(p<<24>>24))p=o;else{p=o;do p=p+1|0;while((i[p>>0]|0)!=0)}p=p-o&1073741823;n=o+(p+1)|0;q=n;while(1)if(!(i[q>>0]|0))break;else q=q+1|0;o=o+(p+2+(q-n&1073741823))|0;p=i[o>>0]|0}while(p<<24>>24!=0)}if(!h){if((u+8|0)<=(k[v>>2]|0)){w=1;A=0;v=u;u=o+1-t|0;p=x;G=58;break}k[A>>2]=46171;k[A+4>>2]=10788;gd(14,14848,A);h=14}$c(x);G=89}}else{w=1;A=0;v=0;u=0;p=0;t=0;G=58}else{b=0;w=0;A=0;v=0;u=0;p=0;t=0;G=58}else if(!K)if(i[b>>0]|0){p=ph(0,b)|0;if(!p)g=7;else{h=p;while(1)if(!(i[h>>0]|0))break;else h=h+1|0;b=0;w=0;A=1;v=h-p&1073741823;u=0;t=0;G=58}}else{w=1;A=1;v=0;u=0;p=0;t=0;G=58}else{b=0;w=0;A=1;v=0;u=0;p=0;t=0;G=58}while(0);do if((G|0)==58){o=(e<<1)+17+(v*3|0)+u+((k[B>>2]|0)+271&-8)|0;z=vg(o,0)|0;if(!z){if(!p){g=7;break}$c(p);g=7;break}kw(z|0,0,o|0)|0;x=z+204|0;k[x>>2]=z+216;y=z+60|0;k[y>>2]=z+264;q=(k[B>>2]|0)+271&-8;k[z+68>>2]=z+q;q=q+e|0;k[z+64>>2]=z+q;q=q+e|0;o=z+q|0;h=z+168|0;k[h>>2]=o;if(p){n=v+1|0;e=z+172|0;k[e>>2]=z+(u+n+q);pw(o|0,p|0,v|0)|0;if(u)pw((k[h>>2]|0)+n|0,t|0,u|0)|0;pw(k[e>>2]|0,p|0,v|0)|0;u=(k[e>>2]|0)+v+0|0;q=14928;t=u+10|0;do{i[u>>0]=i[q>>0]|0;u=u+1|0;q=q+1|0}while((u|0)<(t|0));e=(k[e>>2]|0)+(v+9)|0;B=z+212|0;k[B>>2]=e;pw(e|0,p|0,v|0)|0;B=(k[B>>2]|0)+v|0;i[B+0>>0]=i[14944]|0;i[B+1>>0]=i[14945]|0;i[B+2>>0]=i[14946]|0;i[B+3>>0]=i[14947]|0;i[B+4>>0]=i[14948]|0;$c(p)}k[z>>2]=a;k[z+144>>2]=f;do if(w?(i[b>>0]|0)!=0:0){k[E>>2]=0;h=yc[k[a+24>>2]&31](a,k[h>>2]|0,k[y>>2]|0,f&556927,E)|0;n=k[E>>2]&1;if(!h){h=k[y>>2]|0;h=qc[k[(k[h>>2]|0)+48>>2]&127](h)|0;do if((n|0)==0?(Bp(z),F=k[z+148>>2]|0,F>>>0>1024):0)if(F>>>0>8192){k[H>>2]=8192;break}else{k[H>>2]=F;break}while(0);E=(kg(b,14952,0)|0)&255;i[z+13>>0]=E;if((h&8192|0)==0?(kg(b,14960,0)|0)==0:0){q=0;G=77;break}h=f|1;G=76}}else{h=f;G=76}while(0);if((G|0)==76){i[z+16>>0]=1;i[z+17>>0]=4;i[z+13>>0]=1;n=h&1;q=1;G=77}if((G|0)==77){h=fl(z,H,-1)|0;if(!h){e=k[H>>2]|0;p=(A|0)==0;f=A^1;o=p?75:0;h=k[x>>2]|0;u=h+0|0;t=u+48|0;do{k[u>>2]=0;u=u+4|0}while((u|0)<(t|0));k[h+20>>2]=1;k[h+24>>2]=80;i[h+28>>0]=f;i[h+29>>0]=2;k[h+32>>2]=o;k[h+36>>2]=z;k[h+16>>2]=100;h=Mo(h,e)|0;if(!h){i[z+6>>0]=C^1;k[z+156>>2]=1073741823;i[z+12>>0]=q;i[z+4>>0]=q;i[z+18>>0]=q;i[z+15>>0]=A;i[z+14>>0]=n;i[z+7>>0]=q;if(!(q<<24>>24)){i[z+8>>0]=1;i[z+11>>0]=2;i[z+10>>0]=34;i[z+9>>0]=2}j[z+140>>1]=80;E=z+160|0;k[E>>2]=-1;k[E+4>>2]=-1;Bp(z);do if(D){if(p)break;i[z+5>>0]=4}else i[z+5>>0]=2;while(0);k[z+196>>2]=21;k[I>>2]=z;G=90;break}}}e=k[y>>2]|0;f=k[e>>2]|0;if(f){qc[k[f+4>>2]&127](e)|0;k[e>>2]=0}el(k[z+200>>2]|0);$c(z);G=89}while(0);if((G|0)==89)if(!h)G=90;else g=h;do if((G|0)==90){h=k[I>>2]|0;E=c+40|0;t=k[E+4>>2]|0;u=h+128|0;k[u>>2]=k[E>>2];k[u+4>>2]=t;u=M+0|0;t=u+100|0;do{i[u>>0]=0;u=u+1|0}while((u|0)<(t|0));h=k[h+60>>2]|0;e=k[h>>2]|0;if((e|0)!=0?(g=yc[k[e+8>>2]&31](h,M,100,0,0)|0,!((g|0)==0|(g|0)==522)):0)break;i[I+16>>0]=J;k[I+4>>2]=c;h=k[I>>2]|0;e=h+176|0;k[e>>2]=76;k[h+180>>2]=I;f=k[h+60>>2]|0;g=k[f>>2]|0;if(!g)e=h;else{fc[k[g+40>>2]&63](f,15,e)|0;e=k[I>>2]|0}k[O+4>>2]=I;k[I+8>>2]=0;k[I+12>>2]=0;if(i[e+14>>0]|0){E=I+22|0;j[E>>1]=m[E>>1]|1}E=l[M+17>>0]<<16|l[M+16>>0]<<8;f=I+32|0;k[f>>2]=E;if((E+-512|0)>>>0<=65024?(E+16777215&E|0)==0:0){h=i[M+20>>0]|0;E=I+22|0;j[E>>1]=m[E>>1]|2;i[I+17>>0]=(l[M+53>>0]<<16|l[M+52>>0]<<24|l[M+54>>0]<<8|l[M+55>>0]|0)!=0&1;i[I+18>>0]=(l[M+65>>0]<<16|l[M+64>>0]<<24|l[M+66>>0]<<8|l[M+67>>0]|0)!=0&1}else{k[f>>2]=0;if(K|L)h=0;else{i[I+17>>0]=0;i[I+18>>0]=0;h=0}}h=h&255;g=fl(e,f,h)|0;if(!g){k[I+36>>2]=(k[f>>2]|0)-h;if(!(i[O+9>>0]|0))break e;k[I+64>>2]=1;k[I+68>>2]=k[3664];k[3664]=I;G=105;break e}}while(0);if(I){f=k[I>>2]|0;if(!f)f=I;else{qp(f);f=I}}else f=0}else{f=0;g=7}$c(f);$c(O);k[d>>2]=0;break a}while(0);f:do if((G|0)==105?(N=k[c+20>>2]|0,(N|0)>0):0){f=k[c+16>>2]|0;e=0;while(1){g=k[f+(e<<4)+4>>2]|0;if((g|0)!=0?(i[g+9>>0]|0)!=0:0){e=g;break}e=e+1|0;if((e|0)>=(N|0))break f}while(1){g=e+28|0;f=k[g>>2]|0;if(!f){f=e;break}else e=f}h=k[O+4>>2]|0;if(h>>>0<(k[f+4>>2]|0)>>>0){k[O+24>>2]=f;k[O+28>>2]=0;k[g>>2]=O;break}while(1){g=f+24|0;e=k[g>>2]|0;if(!e){G=113;break}if((k[e+4>>2]|0)>>>0<h>>>0)f=e;else{G=115;break}}if((G|0)==113){k[O+24>>2]=0;k[O+28>>2]=f}else if((G|0)==115){k[O+24>>2]=e;k[O+28>>2]=f;k[e+28>>2]=O}k[g>>2]=O}while(0);k[d>>2]=O;g=k[O+4>>2]|0;k[g+4>>2]=k[O>>2];if(!(k[g+48>>2]|0)){g=k[(k[g>>2]|0)+204>>2]|0;k[g+16>>2]=2e3;oc[k[8744+124>>2]&15](k[g+40>>2]|0,2e3);g=0}else g=0}else g=7;while(0);r=P;return g|0}function Fm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0,w=0,x=0,y=0;y=r;r=r+48|0;if((r|0)>=(s|0))ka();p=y;v=y+28|0;w=y+24|0;u=y+20|0;j=y+16|0;n=y+12|0;o=y+32|0;q=y+8|0;e=k[a>>2]|0;t=k[a+4>>2]|0;d=t+4|0;k[d>>2]=e;a:do if(!(i[t+17>>0]|0)){d=np(t,v,w,1,0)|0;k[u>>2]=d;if(!d){e=k[v>>2]|0;x=39}}else{m=t+8|0;f=k[m>>2]|0;if(f)do{h=f+72|0;i[h>>0]=l[h>>0]&251;f=k[f+8>>2]|0}while((f|0)!=0);k[d>>2]=e;h=k[(k[t+12>>2]|0)+56>>2]|0;h=l[h+53>>0]<<16|l[h+52>>0]<<24|l[h+54>>0]<<8|l[h+55>>0];k[w>>2]=h;e=((k[2514]|0)>>>0)/((k[t+32>>2]|0)>>>0)|0;d=t+36|0;while(1){g=h+1|0;if(g>>>0<2)f=0;else{f=h+-1|0;f=f-((f>>>0)%(((((k[d>>2]|0)>>>0)/5|0)+1|0)>>>0)|0)|0;f=((f+1|0)==(e|0)?3:2)+f|0}if((g|0)==(f|0)|(h|0)==(e|0))h=g;else break}k[w>>2]=g;d=np(t,n,j,g,1)|0;k[u>>2]=d;if(!d){h=k[j>>2]|0;do if((h|0)==(g|0)){e=k[n>>2]|0;k[v>>2]=e}else{i[o>>0]=0;k[q>>2]=0;f=k[m>>2]|0;b:do if(!f)d=0;else{while(1){if(f)break;f=k[2]|0;if(!f){d=0;break b}}d=Kl(f,0,0)|0}while(0);k[u>>2]=d;f=k[n>>2]|0;if(f)Gg(k[f+68>>2]|0);if(d)break a;d=il(t,g,v,0)|0;k[u>>2]=d;if(d)break a;d=mp(t,g,o,q)|0;k[u>>2]=d;f=i[o>>0]|0;if((f+-1&255)>=2){e=k[v>>2]|0;if(!d){d=cn(t,e,f,k[q>>2]|0,h,0)|0;k[u>>2]=d;if(e)Gg(k[e+68>>2]|0);if(d)break a;d=il(t,g,v,0)|0;k[u>>2]=d;if(d)break a;e=k[v>>2]|0;f=e+68|0;d=Lg(k[f>>2]|0)|0;k[u>>2]=d;if(!d)break;if(!e)break a;Gg(k[f>>2]|0);break a}}else{k[p>>2]=60876;k[p+4>>2]=10788;gd(11,13600,p);k[u>>2]=11;d=11;e=k[v>>2]|0}if(!e)break a;Gg(k[e+68>>2]|0);break a}while(0);Ep(t,g,1,0,u);d=k[u>>2]|0;if(d){if(!e)break;Gg(k[e+68>>2]|0);break}d=Ig(a,4,g)|0;k[u>>2]=d;if(d){if(e)Gg(k[e+68>>2]|0)}else x=39}}while(0);if((x|0)==39){ul(e,(c&1|0)==0?10:13);d=k[(k[v>>2]|0)+68>>2]|0;if(d)Gg(d);k[b>>2]=k[w>>2];d=0}r=y;return d|0}function Gm(a,b){a=a|0;b=b|0;var c=0,d=0;do if(b){a=k[a>>2]|0;c=b+56|0;d=k[c>>2]|0;if(d){dn(a,d);$c(k[d+40>>2]|0);rg(a,d);k[c>>2]=0}a=k[b+4>>2]|0;if(a){Rl(a);break}a=k[b>>2]|0;if(a){pp(a);break}a=k[b+32>>2]|0;if(a){d=k[a>>2]|0;c=k[d>>2]|0;d=d+4|0;k[d>>2]=(k[d>>2]|0)+-1;qc[k[c+28>>2]&127](a)|0}}while(0);return}function Hm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;N=r;r=r+16|0;if((r|0)>=(s|0))ka();L=N+8|0;K=N;o=a+73|0;do if(((i[o>>0]|0)==1?(n=l[a+72>>0]|0,(n&2|0)!=0):0)?(i[(k[a+120>>2]|0)+2>>0]|0)!=0:0){g=a+24|0;h=k[g>>2]|0;g=k[g+4>>2]|0;if((h|0)==(c|0)&(g|0)==(d|0)){k[f>>2]=0;g=0;break}if((n&8|0)!=0&((g|0)<(d|0)|(g|0)==(d|0)&h>>>0<c>>>0)){k[f>>2]=-1;g=0}else M=8}else M=8;while(0);do if((M|0)==8){if(!b)G=0;else{h=k[b>>2]|0;if(((m[h+8>>1]|0)+(m[h+6>>1]|0)|0)<14){g=m[(k[b+8>>2]|0)+8>>1]|0;H=(i[k[h+16>>2]>>0]|0)==0;k[b+12>>2]=H?-1:1;k[b+16>>2]=H?1:-1;if(!(g&4))if((g&25|0)==0?(k[h+20>>2]|0)==0:0)h=39;else M=13;else h=38}else M=13;if((M|0)==13)h=40;i[b+7>>0]=0;G=h}g=vm(a)|0;if(!g){if(!(i[o>>0]|0)){k[f>>2]=-1;g=0;break}H=a+76|0;C=1-e|0;D=(G|0)==0;I=a+72|0;E=a+24|0;F=a+24|0;a:do{e=j[H>>1]|0;A=k[a+(e<<2)+120>>2]|0;B=A+18|0;n=(m[B>>1]|0)+-1|0;h=n>>C;j[a+(e<<1)+78>>1]=h;e=A+56|0;x=A+20|0;y=A+64|0;z=A+7|0;b:do if(D){q=A+3|0;p=A+60|0;o=0;t=n;while(1){n=h<<1;w=k[y>>2]|0;n=(k[e>>2]|0)+(((l[w+n>>0]<<8|l[w+(n|1)>>0])&m[x>>1])+(l[z>>0]|0))|0;c:do if(i[q>>0]|0)while(1){w=n;n=n+1|0;if((i[w>>0]|0)>=0)break c;if(n>>>0>=(k[p>>2]|0)>>>0){M=25;break a}}while(0);xp(n,K)|0;g=K;n=k[g>>2]|0;g=k[g+4>>2]|0;if((g|0)<(d|0)|(g|0)==(d|0)&n>>>0<c>>>0){o=h+1|0;if((h|0)<(t|0))n=t;else{g=-1;M=49;break b}}else{if(!((g|0)>(d|0)|(g|0)==(d|0)&n>>>0>c>>>0)){o=g;break}n=h+-1|0;if((o|0)>(n|0)){g=1;M=49;break b}}h=n+o>>1;t=n}i[I>>0]=l[I>>0]|2;z=E;k[z>>2]=n;k[z+4>>2]=o;j[a+(j[H>>1]<<1)+78>>1]=h;if(i[A+5>>0]|0){M=31;break a}}else{u=A+8|0;v=A+10|0;w=h;o=0;while(1){g=k[e>>2]|0;q=w<<1;h=k[y>>2]|0;q=(l[h+q>>0]<<8|l[h+(q|1)>>0])&m[x>>1];h=q+(l[z>>0]|0)|0;O=i[g+h>>0]|0;t=O&255;p=g+(h+1)|0;do if((O&255)>(l[u>>0]|0)){p=l[p>>0]|0;if((p&128|0)==0?(J=p+(t<<7&16256)|0,(J|0)<=(m[v>>1]|0)):0){g=fc[G&63](J,g+(h+2)|0,b)|0;break}wp(A,g+q|0,F);p=k[F>>2]|0;h=vg(p,((p|0)<0)<<31>>31)|0;if(!h){g=7;break a}j[a+(j[H>>1]<<1)+78>>1]=w;g=Qm(a,0,p,h,2)|0;if(g){M=40;break a}g=fc[G&63](p,h,b)|0;$c(h)}else g=fc[G&63](t,p,b)|0;while(0);if((g|0)<0)o=w+1|0;else{if((g|0)<=0){h=w;M=46;break a}n=w+-1|0}if((o|0)>(n|0)){h=w;M=49;break b}w=n+o>>1}}while(0);if((M|0)==49){M=0;if(i[A+5>>0]|0){M=51;break}e=A+56|0;h=o}o=k[e>>2]|0;if((h|0)<(m[B>>1]|0)){n=h<<1;B=k[A+64>>2]|0;n=(l[B+n>>0]<<8|l[B+(n|1)>>0])&m[A+20>>1];n=l[o+(n+1)>>0]<<16|l[o+n>>0]<<24|l[o+(n+2)>>0]<<8|l[o+(n+3)>>0]}else{n=l[A+6>>0]|0;n=l[o+(n+9)>>0]<<16|l[o+(n+8)>>0]<<24|l[o+(n+10)>>0]<<8|l[o+(n+11)>>0]}j[a+(j[H>>1]<<1)+78>>1]=h;g=wm(a,n)|0}while((g|0)==0);if((M|0)==25){k[L>>2]=57865;k[L+4>>2]=10788;gd(11,13600,L);g=11;break}else if((M|0)==31){k[f>>2]=0;g=0}else if((M|0)==40)$c(h);else if((M|0)==46){k[f>>2]=0;j[a+(j[H>>1]<<1)+78>>1]=h;g=(i[b+7>>0]|0)==0?0:11}else if((M|0)==51){j[a+(j[H>>1]<<1)+78>>1]=h;k[f>>2]=g;g=0}j[a+44>>1]=0;i[I>>0]=l[I>>0]&249}}while(0);r=N;return g|0}function Im(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;j[a+44>>1]=0;c=a+72|0;i[c>>0]=l[c>>0]&249;k[b>>2]=0;do if((i[a+73>>0]|0)==1){c=a+76|0;f=j[c>>1]|0;d=k[a+(f<<2)+120>>2]|0;f=a+(f<<1)+78|0;e=(j[f>>1]|0)+1<<16>>16;j[f>>1]=e;if((e&65535)>=(m[d+18>>1]|0)){c=a+(j[c>>1]<<1)+78|0;j[c>>1]=(j[c>>1]|0)+-1<<16>>16;c=Ip(a,b)|0;break}if(!(i[d+5>>0]|0))c=_m(a)|0;else c=0}else c=Ip(a,b)|0;while(0);return c|0}function Jm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;k[b>>2]=0;f=a+72|0;i[f>>0]=l[f>>0]&241;j[a+44>>1]=0;if(((i[a+73>>0]|0)==1?(c=j[a+76>>1]|0,d=a+(c<<1)+78|0,e=j[d>>1]|0,e<<16>>16!=0):0)?(i[(k[a+(c<<2)+120>>2]|0)+5>>0]|0)!=0:0){j[d>>1]=e+-1<<16>>16;c=0}else c=Jp(a,b)|0;return c|0}function Km(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=0-b&7;h=a+6|0;f=j[h>>1]|0;e=((f&65535)*40|0)+64|0;if((e|0)>(g+c|0)){e=rh(k[a+12>>2]|0,e,0)|0;k[d>>2]=e;if(!e)e=0;else{f=j[h>>1]|0;i=5}}else{k[d>>2]=0;e=b+g|0;i=5}if((i|0)==5){k[e+8>>2]=e+24;k[e>>2]=a;j[e+4>>1]=(f&65535)+1}return e|0}function Lm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0,n=0,o=0,p=0,q=0,t=0,u=0;u=r;r=r+16|0;if((r|0)>=(s|0))ka();t=u+4|0;q=u;g=k[d+8>>2]|0;i[d+6>>0]=0;e=i[c>>0]|0;if(e<<24>>24>-1){e=e&255;k[t>>2]=e;f=1}else{f=rm(c,t)|0;e=k[t>>2]|0}p=a+4|0;n=a+12|0;o=d+4|0;a=e;l=e;h=f&255;e=0;while(1){if(h>>>0>=a>>>0|(l|0)>(b|0))break;d=c+h|0;a=i[d>>0]|0;if(a<<24>>24>-1){k[q>>2]=a&255;d=1}else d=rm(d,q)|0;i[g+10>>0]=i[p>>0]|0;k[g+32>>2]=k[n>>2];k[g+24>>2]=0;f=tm(c+l|0,k[q>>2]|0,g)|0;e=e+1<<16>>16;if((e&65535)>=(m[o>>1]|0))break;a=k[t>>2]|0;l=f+l|0;h=(d&255)+h|0;g=g+40|0}j[o>>1]=e;r=u;return}function Mm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;d=a+73|0;if((i[d>>0]|0)==1?(i[a+72>>0]&8)!=0:0)c=0;else e=3;do if((e|0)==3){c=vm(a)|0;if(!c){if(!(i[d>>0]|0)){k[b>>2]=1;c=0;break}k[b>>2]=0;c=Kp(a)|0;b=a+72|0;d=l[b>>0]|0;if(!c){i[b>>0]=d|8;c=0;break}else{i[b>>0]=d&247;break}}}while(0);return c|0}function Nm(a,b,c,d,e,f,g,h,n){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;n=n|0;var o=0,p=0,q=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=r;r=r+32|0;if((r|0)>=(s|0))ka();u=K;A=K+24|0;B=K+20|0;z=K+16|0;J=K+12|0;G=K+8|0;H=K+28|0;k[G>>2]=n;p=(k[a>>2]|0)+4|0;t=k[p>>2]|0;I=a+73|0;do if((i[I>>0]|0)!=4){q=Qn(t,k[a+60>>2]|0,a)|0;k[J>>2]=q;if(!q){if(!(k[a+16>>2]|0)){q=k[(k[p>>2]|0)+8>>2]|0;if(q)do{if((i[q+72>>0]&16)!=0?(D=q+24|0,(k[D>>2]|0)==(c|0)?(k[D+4>>2]|0)==(d|0):0):0)i[q+73>>0]=0;q=k[q+8>>2]|0}while((q|0)!=0);if((i[a+72>>0]&2)!=0&((d|0)>0|(d|0)==0&c>>>0>0)?(D=a+24|0,x=k[D>>2]|0,D=k[D+4>>2]|0,y=ow(c|0,d|0,-1,-1)|0,(x|0)==(y|0)&(D|0)==(L|0)):0)k[G>>2]=-1;else C=13}else C=13;if(((C|0)==13?(n|0)==0:0)?(o=Lp(a,b,c,d,h,G)|0,k[J>>2]=o,(o|0)!=0):0)break;E=a+76|0;F=k[a+(j[E>>1]<<2)+120>>2]|0;D=k[t+80>>2]|0;k[B>>2]=0;h=F+52|0;y=k[h>>2]|0;k[z>>2]=0;q=l[F+7>>0]|0;t=g+f|0;if(i[F+3>>0]|0){if(t>>>0<128){i[D+q>>0]=t;p=1}else p=(um(D+q|0,t,((t|0)<0)<<31>>31)|0)&255;q=p+q|0}n=(um(D+q|0,c,d)|0)+q|0;do if(!(i[F+2>>0]|0))if((d|0)>0|(d|0)==0&c>>>0>2147483647|(b|0)==0){k[u>>2]=58825;k[u+4>>2]=10788;gd(11,13600,u);o=11;q=0;break}else{x=f;t=c;f=c;g=b;C=24;break}else{x=0;g=e;C=24}while(0);do if((C|0)==24){q=m[F+10>>1]|0;if((t|0)>(q|0)){p=m[F+12>>1]|0;h=(((t-p|0)>>>0)%(((k[(k[h>>2]|0)+36>>2]|0)+-4|0)>>>0)|0)+p|0;h=(h|0)>(q|0)?p:h;p=h+n|0;q=p+4|0;p=D+p|0}else{q=t+n|0;q=(q|0)<4?4:q;p=D;h=t}if((t|0)>0){c=y+17|0;v=y+36|0;w=y+32|0;b=f;u=D+n|0;d=p;n=0;f=h;while(1){if(!f){u=k[z>>2]|0;if(!(i[c>>0]|0))p=u;else{o=((k[2514]|0)>>>0)/((k[w>>2]|0)>>>0)|0;f=u;while(1){p=f+1|0;if(p>>>0<2)h=0;else{h=f+-1|0;h=h-((h>>>0)%(((((k[v>>2]|0)>>>0)/5|0)+1|0)>>>0)|0)|0;h=((h+1|0)==(o|0)?3:2)+h|0}if((h|0)==(p|0)|(f|0)==(o|0))f=p;else break}k[z>>2]=p}o=np(y,B,z,p,0)|0;k[A>>2]=o;p=(o|0)==0;if((i[c>>0]|0)!=0&p){p=k[z>>2]|0;Ep(y,p,(u|0)!=0?4:3,u,A);o=k[A>>2]|0;if(o){h=n;C=38;break}}else{if(!p)break;p=k[z>>2]|0}i[d>>0]=p>>>24;i[d+1>>0]=p>>>16;i[d+2>>0]=p>>>8;i[d+3>>0]=p;if(n)Gg(k[n+68>>2]|0);o=k[B>>2]|0;u=o+56|0;d=k[u>>2]|0;i[d>>0]=0;i[d+1>>0]=0;i[d+2>>0]=0;i[d+3>>0]=0;u=(k[u>>2]|0)+4|0;f=(k[v>>2]|0)+-4|0}else o=n;p=(t|0)>(f|0)?f:t;if((b|0)>0){p=(p|0)>(b|0)?b:p;pw(u|0,g|0,p|0)|0}else kw(u|0,0,p|0)|0;t=t-p|0;h=(b|0)==(p|0);if((t|0)<=0){C=51;break}else{b=h?x:b-p|0;u=u+p|0;g=h?e:g+p|0;n=o;f=f-p|0}}if((C|0)==38){n=k[B>>2]|0;if(!n)n=h;else{Gg(k[n+68>>2]|0);n=h}}else if((C|0)==51){if(!o){o=0;break}Gg(k[o+68>>2]|0);o=0;break}if(n)Gg(k[n+68>>2]|0)}else o=0}while(0);k[J>>2]=o;if(!o){o=a+(j[E>>1]<<1)+78|0;h=j[o>>1]|0;p=h&65535;n=k[G>>2]|0;if(!n){o=Lg(k[F+68>>2]|0)|0;k[J>>2]=o;if(o)break;o=p<<1;C=k[F+64>>2]|0;o=(k[F+56>>2]|0)+((l[C+o>>0]<<8|l[C+(o|1)>>0])&m[F+20>>1])|0;if(!(i[F+5>>0]|0)){C=l[o>>0]|l[o+1>>0]<<8|l[o+2>>0]<<16|l[o+3>>0]<<24;i[D>>0]=C;i[D+1>>0]=C>>8;i[D+2>>0]=C>>16;i[D+3>>0]=C>>24}o=Mp(F,o,H)|0;k[J>>2]=o;Np(F,p,m[H>>1]|0,J);o=k[J>>2]|0;if(!o)o=p;else break}else if((n|0)<0?(j[F+18>>1]|0)!=0:0){C=h+1<<16>>16;j[o>>1]=C;o=C&65535}else o=p;Op(F,o,D,q,0,0,J);j[a+44>>1]=0;o=k[J>>2]|0;if(!o)if(!(i[F+1>>0]|0))o=0;else{o=a+72|0;i[o>>0]=l[o>>0]&253;o=Pp(a)|0;k[J>>2]=o;i[(k[a+(j[E>>1]<<2)+120>>2]|0)+1>>0]=0;i[I>>0]=0}}}else o=q}else o=k[a+68>>2]|0;while(0);r=K;return o|0}function Om(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=r;r=r+16|0;if((r|0)>=(s|0))ka();y=z+4|0;n=z+8|0;d=z;e=(k[a>>2]|0)+4|0;q=k[e>>2]|0;w=a+76|0;x=j[w>>1]|0;u=x<<16>>16;h=j[a+(u<<1)+78>>1]|0;v=h&65535;o=k[a+(u<<2)+120>>2]|0;do if((h&65535)<(m[o+18>>1]|0)?(i[a+73>>0]|0)==1:0){h=v<<1;t=k[o+64>>2]|0;h=(k[o+56>>2]|0)+((l[t+h>>0]<<8|l[t+(h|1)>>0])&m[o+20>>1])|0;t=o+5|0;if((i[t>>0]|0)==0?(k[d>>2]=0,b=Jm(a,d)|0,k[y>>2]=b,(b|0)!=0):0)break;b=Qn(q,k[a+60>>2]|0,a)|0;k[y>>2]=b;if(!b){if((k[a+16>>2]|0)==0?(g=a+24|0,f=k[g>>2]|0,g=k[g+4>>2]|0,c=k[(k[e>>2]|0)+8>>2]|0,(c|0)!=0):0)do{if((i[c+72>>0]&16)!=0?(e=c+24|0,(k[e>>2]|0)==(f|0)?(k[e+4>>2]|0)==(g|0):0):0)i[c+73>>0]=0;c=k[c+8>>2]|0}while((c|0)!=0);b=Lg(k[o+68>>2]|0)|0;k[y>>2]=b;if(!b){b=Mp(o,h,n)|0;k[y>>2]=b;Np(o,v,m[n>>1]|0,y);b=k[y>>2]|0;if(!b){if((i[t>>0]|0)==0?(h=k[a+(j[w>>1]<<2)+120>>2]|0,g=k[(k[a+(u+1<<2)+120>>2]|0)+72>>2]|0,d=k[h+56>>2]|0,n=h+18|0,e=m[n>>1]<<1,p=k[h+64>>2]|0,e=(l[p+(e+-2)>>0]<<8|l[p+(e+-1)>>0])&m[h+20>>1],p=(Qp(h,d+e|0)|0)&65535,f=k[q+80>>2]|0,c=Lg(k[h+68>>2]|0)|0,k[y>>2]=c,Op(o,v,d+(e+-4)|0,p+4|0,f,g,y),Np(h,(m[n>>1]|0)+-1|0,p,y),p=k[y>>2]|0,(p|0)!=0):0){b=p;break}b=Pp(a)|0;k[y>>2]=b;if(!b){b=j[w>>1]|0;if(b<<16>>16>x<<16>>16){do{c=b+-1<<16>>16;j[w>>1]=c;b=k[a+(b<<16>>16<<2)+120>>2]|0;if(!b)b=c;else{Gg(k[b+68>>2]|0);b=j[w>>1]|0}}while(b<<16>>16>x<<16>>16);b=Pp(a)|0;k[y>>2]=b;if(b)break}vm(a)|0;b=0}}}}}else b=1;while(0);r=z;return b|0}function Pm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,n=0.0,o=0.0,q=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=r;r=r+64|0;if((r|0)>=(s|0))ka();I=K+40|0;h=K+56|0;G=K;f=K+52|0;H=K+48|0;q=k[c+8>>2]|0;J=k[c>>2]|0;do if(!d){d=i[b>>0]|0;if(d<<24>>24>-1){d=d&255;k[h>>2]=d;e=1}else{e=rm(b,h)|0;d=k[h>>2]|0}if(d>>>0>a>>>0){k[I>>2]=68267;k[I+4>>2]=10788;gd(11,13600,I);i[c+7>>0]=11;e=0;break}else{F=d;h=d;d=0;f=e&255;g=15;break}}else{d=b+1|0;e=i[d>>0]|0;if(e<<24>>24>-1){d=e&255;k[f>>2]=d;g=1}else{g=rm(d,f)|0;d=k[f>>2]|0}e=l[b>>0]|0;k[h>>2]=e;if(d>>>0>11)d=(d+-12|0)>>>1;else d=l[34336+d>>0]|0;F=e;h=d+e|0;d=1;f=(g&255)+1|0;q=q+40|0;g=15}while(0);do if((g|0)==15){w=G+12|0;x=J+4|0;y=G+10|0;z=J+12|0;A=G+32|0;B=G+8|0;C=G+16|0;E=c+7|0;D=c+4|0;v=h;u=f;a:while(1){f=m[q+8>>1]|0;do if(!(f&4)){if(f&8){g=i[b+u>>0]|0;h=g&255;k[H>>2]=h;if((g&255)>11){e=1;g=62;break a}if(!(g<<24>>24)){e=-1;g=62;break a}n=+p[q>>3];tm(b+v|0,h,G)|0;if(g<<24>>24==7)o=+p[G>>3];else{e=G;o=+((k[e>>2]|0)>>>0)+4294967296.0*+(k[e+4>>2]|0)}if(o<n){e=-1;g=62;break a}if(o>n){e=1;g=62;break a}else break}do if(!(f&2)){g=b+u|0;t=i[g>>0]|0;h=t&255;if(!(f&16)){k[H>>2]=h;e=t<<24>>24!=0&1;break}if(t<<24>>24>-1)k[H>>2]=h;else{rm(g,H)|0;h=k[H>>2]|0}if(!(h>>>0>11&(h&1|0)==0)){e=-1;g=62;break a}t=(h+-12|0)>>>1;if((t+v|0)>>>0>a>>>0){g=57;break a}g=k[q+12>>2]|0;e=cw(b+v|0,k[q+16>>2]|0,(t|0)<(g|0)?t:g)|0;if(e){g=62;break a}e=t-g|0}else{h=b+u|0;g=i[h>>0]|0;if(g<<24>>24>-1){h=g&255;k[H>>2]=h}else{rm(h,H)|0;h=k[H>>2]|0}if(h>>>0<12){e=-1;g=62;break a}if(!(h&1)){e=1;g=62;break a}f=(h+-12|0)>>>1;k[w>>2]=f;if((f+v|0)>>>0>a>>>0){g=46;break a}g=k[J+(d<<2)+20>>2]|0;if(g){i[y>>0]=i[x>>0]|0;k[A>>2]=k[z>>2];j[B>>1]=2;k[C>>2]=b+v;e=up(G,q,g,E)|0;break}t=k[q+12>>2]|0;e=cw(b+v|0,k[q+16>>2]|0,(f|0)<(t|0)?f:t)|0;if(e){g=62;break a}e=f-t|0}while(0);if(e){g=62;break a}}else{g=i[b+u>>0]|0;h=g&255;k[H>>2]=h;if((g&255)>11){e=1;g=62;break a}if(g<<24>>24==7){e=q;n=+((k[e>>2]|0)>>>0)+4294967296.0*+(k[e+4>>2]|0);tm(b+v|0,h,G)|0;o=+p[G>>3];if(o<n){e=-1;g=62;break a}if(o>n){e=1;g=62;break a}else break}else if(!(g<<24>>24)){e=-1;g=62;break a}g=b+v|0;switch(h|0){case 3:{t=l[b+(v+1)>>0]<<8|i[g>>0]<<16|l[b+(v+2)>>0];e=((t|0)<0)<<31>>31;break}case 1:case 0:{t=i[g>>0]|0;e=((t|0)<0)<<31>>31;break}case 5:{e=i[g>>0]<<8|l[b+(v+1)>>0];t=l[b+(v+3)>>0]<<16|l[b+(v+2)>>0]<<24|l[b+(v+4)>>0]<<8|l[b+(v+5)>>0];break}case 4:{t=l[b+(v+1)>>0]<<16|l[g>>0]<<24|l[b+(v+2)>>0]<<8|l[b+(v+3)>>0];e=((t|0)<0)<<31>>31;break}case 6:{e=l[b+(v+1)>>0]<<16|l[g>>0]<<24|l[b+(v+2)>>0]<<8|l[b+(v+3)>>0];t=l[b+(v+5)>>0]<<16|l[b+(v+4)>>0]<<24|l[b+(v+6)>>0]<<8|l[b+(v+7)>>0];break}case 2:{t=i[g>>0]<<8|l[b+(v+1)>>0];e=((t|0)<0)<<31>>31;break}default:{e=0;t=h+-8|0}}f=q;g=k[f>>2]|0;f=k[f+4>>2]|0;if((e|0)<(f|0)|(e|0)==(f|0)&t>>>0<g>>>0){e=-1;g=62;break a}if((e|0)>(f|0)|(e|0)==(f|0)&t>>>0>g>>>0){e=1;g=62;break a}}while(0);d=d+1|0;q=q+40|0;if(h>>>0>11)f=(h+-12|0)>>>1;else f=l[34336+h>>0]|0;t=h;g=0;h=0;do{h=h+1|0;t=rw(t|0,g|0,7)|0;g=L}while(((t|0)!=0|(g|0)!=0)&(h|0)<9);v=f+v|0;u=h+u|0;if(u>>>0>=F>>>0){g=70;break}if(v>>>0>a>>>0?1:(d|0)>=(m[D>>1]|0)){g=70;break}}if((g|0)==46){k[I>>2]=68346;k[I+4>>2]=10788;gd(11,13600,I);i[E>>0]=11;e=0;break}else if((g|0)==57){k[I>>2]=68375;k[I+4>>2]=10788;gd(11,13600,I);i[E>>0]=11;e=0;break}else if((g|0)==62){e=(i[(k[J+16>>2]|0)+d>>0]|0)==0?e:0-e|0;break}else if((g|0)==70){e=i[c+6>>0]|0;break}}while(0);r=K;return e|0}function Qm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=r;r=r+16|0;if((r|0)>=(s|0))ka();A=B;y=B+12|0;z=B+8|0;f=j[a+76>>1]|0;h=k[a+(f<<2)+120>>2]|0;x=k[a+4>>2]|0;if(!(j[a+44>>1]|0)){q=h+56|0;f=m[a+(f<<1)+78>>1]<<1;p=k[h+64>>2]|0;wp(h,(k[q>>2]|0)+((l[p+f>>0]<<8|l[p+(f|1)>>0])&m[h+20>>1])|0,a+24|0);f=a+72|0;i[f>>0]=l[f>>0]|2;f=q}else f=h+56|0;q=k[a+32>>2]|0;o=a+40|0;g=m[o>>1]|0;p=x+36|0;if((q+g|0)>>>0<=((k[f>>2]|0)+(k[p>>2]|0)|0)>>>0){if(g>>>0>b>>>0){n=(c+b|0)>>>0>g>>>0?g-b|0:c;g=q+b|0;if(e&1){f=Lg(k[h+68>>2]|0)|0;if(!f){pw(g|0,d|0,n|0)|0;f=0}}else{pw(d|0,g|0,n|0)|0;f=0}d=d+n|0;t=0;c=c-n|0}else{t=b-g|0;f=0}a:do if((f|0)==0&(c|0)!=0){f=k[p>>2]|0;w=f+-4|0;g=m[o>>1]|0;o=l[q+(g+1)>>0]<<16|l[q+g>>0]<<24|l[q+(g+2)>>0]<<8|l[q+(g+3)>>0];k[y>>2]=o;q=a+72|0;do if((e|0)!=2?(i[q>>0]&4)==0:0){f=((f+-5+(k[a+36>>2]|0)-g|0)>>>0)/(w>>>0)|0;b=a+64|0;if((f|0)>(k[b>>2]|0)){h=a+20|0;g=wg(k[h>>2]|0,f<<3,0)|0;if(!g){f=7;break}k[b>>2]=f<<1;k[h>>2]=g}kw(k[a+20>>2]|0,0,f<<2|0)|0;i[q>>0]=l[q>>0]|4;f=0}else f=0;while(0);b=i[q>>0]|0;if((b&4)!=0?(v=(t>>>0)/(w>>>0)|0,u=k[(k[a+20>>2]|0)+(v<<2)>>2]|0,(u|0)!=0):0){k[y>>2]=u;n=(t>>>0)%(w>>>0)|0;h=u;o=v}else{n=t;h=o;o=0}if((f|0)==0&(h|0)!=0){u=e&1;v=u<<1^2;u=(u|0)==0;e=a+20|0;while(1){if(b&4)k[(k[e>>2]|0)+(o<<2)>>2]=h;if(n>>>0<w>>>0){p=(n+c|0)>>>0>w>>>0?w-n|0:c;f=Eg(k[x>>2]|0,h,z,v)|0;if(!f){b=k[z>>2]|0;g=k[b+4>>2]|0;h=l[g+1>>0]<<16|l[g>>0]<<24|l[g+2>>0]<<8|l[g+3>>0];k[y>>2]=h;g=g+(n+4)|0;if(!u){f=Lg(b)|0;if(!f){pw(g|0,d|0,p|0)|0;f=0}}else{pw(d|0,g|0,p|0)|0;f=0}if(!b)n=0;else{Gg(b);n=0}}c=c-p|0;d=d+p|0;o=o+1|0}else{b=o+1|0;f=k[(k[e>>2]|0)+(b<<2)>>2]|0;if(!f){f=Rp(x,h,0,y)|0;h=k[y>>2]|0}else{k[y>>2]=f;h=f;f=0}n=n-w|0;o=b}if(!((f|0)==0&(c|0)!=0&(h|0)!=0))break a;b=i[q>>0]|0}}}while(0);if((f|0)==0&(c|0)!=0){k[A>>2]=57357;k[A+4>>2]=10788;gd(11,13600,A);f=11}}else{k[A>>2]=57202;k[A+4>>2]=10788;gd(11,13600,A);f=11}r=B;return f|0}function Rm(a,b){a=a|0;b=b|0;var c=0,d=0;d=k[a>>2]|0;c=a+44|0;rg(d,k[c>>2]|0);a=b+8|0;b=ph(d,k[a>>2]|0)|0;k[c>>2]=b;$c(k[a>>2]|0);k[a>>2]=0;return}function Sm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0;p=r;r=r+16|0;if((r|0)>=(s|0))ka();e=p+4|0;n=p;o=a+12|0;if(!(k[o>>2]|0)){d=a+8|0;c=Km(k[(k[d>>2]|0)+28>>2]|0,0,0,e)|0;k[o>>2]=c;if(!(k[e>>2]|0))c=7;else{j[c+4>>1]=j[(k[(k[d>>2]|0)+28>>2]|0)+6>>1]|0;i[c+7>>0]=0;f=4}}else f=4;if((f|0)==4){m=vg(256,0)|0;if(!m)c=7;else{kw(m|0,0,256)|0;c=k[b>>2]|0;k[n>>2]=c;if(c){h=b+4|0;while(1){d=k[h>>2]|0;if(d)if((c|0)==(d|0))g=0;else g=d+(k[c+4>>2]|0)|0;else g=k[c+4>>2]|0;k[c+4>>2]=0;f=k[m>>2]|0;e=k[n>>2]|0;if(!f)f=m;else{d=m;c=0;do{Sp(a,e,f,n);k[d>>2]=0;c=c+1|0;d=m+(c<<2)|0;f=k[d>>2]|0;e=k[n>>2]|0}while((f|0)!=0);f=d}k[f>>2]=e;k[n>>2]=g;if(!g)break;else c=g}}k[n>>2]=0;c=0;d=0;do{Sp(a,c,k[m+(d<<2)>>2]|0,n);d=d+1|0;c=k[n>>2]|0}while((d|0)!=64);k[b>>2]=c;$c(m);c=l[(k[o>>2]|0)+7>>0]|0}}r=p;return c|0}function Tm(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0;m=r;r=r+64|0;if((r|0)>=(s|0))ka();j=m+40|0;l=m;i[a+56>>0]=1;e=a+64|0;h=a+36|0;g=a+72|0;f=k[(k[g>>2]|0)+24>>2]|0;d=l+0|0;c=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(c|0));d=a+96|0;if(!((k[d>>2]|0)==0?(b=Tp(f,d)|0,(b|0)!=0):0)){b=Sm(e,h)|0;if(!b){e=a+104|0;b=e;Up(k[d>>2]|0,l,k[(k[g>>2]|0)+12>>2]|0,k[b>>2]|0,k[b+4>>2]|0);b=a+92|0;k[b>>2]=(k[b>>2]|0)+1;b=k[a+44>>2]|0;Vp(l,j,um(j,b,((b|0)<0)<<31>>31)|0);b=k[h>>2]|0;if(b){d=a+40|0;do{c=b;b=k[b+4>>2]|0;a=k[c>>2]|0;Vp(l,j,um(j,a,((a|0)<0)<<31>>31)|0);Vp(l,c+8|0,k[c>>2]|0);if(!(k[d>>2]|0))$c(c)}while((b|0)!=0)}k[h>>2]=0;b=Wp(l,e)|0}}r=m;return b|0}function Um(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+16|0;if((r|0)>=(s|0))ka();n=p;f=c;h=k[f>>2]|0;f=k[f+4>>2]|0;o=Vm(b)|0;k[d>>2]=o;g=(o|0)==0;e=g?7:0;g=g^1;if((b|0)>0&g){m=o+12|0;l=a+32|0;j=0;do{g=k[m>>2]|0;i=g+(j*56|0)|0;e=Xp(a,i,l,h,f)|0;if(!e){e=Yp(i,n)|0;f=i;h=n;f=ow(k[h>>2]|0,k[h+4>>2]|0,k[f>>2]|0,k[f+4>>2]|0)|0;h=g+(j*56|0)+8|0;g=h;k[g>>2]=f;k[g+4>>2]=L;if(!e)e=Zp(i)|0}else h=g+(j*56|0)+8|0;f=h;h=k[f>>2]|0;f=k[f+4>>2]|0;j=j+1|0;g=(e|0)==0}while((j|0)<(b|0)&g)}if(!g){Ym(o);k[d>>2]=0}b=c;k[b>>2]=h;k[b+4>>2]=f;r=p;return e|0}function Vm(a){a=a|0;var b=0,c=0;b=2;while(1)if((b|0)<(a|0))b=b<<1;else{c=b;break}b=k[2252]|0;if((b|0)!=0?(qc[b&127](100)|0)!=0:0)b=0;else{a=(c*60|0)+16|0;b=vg(a,((a|0)<0)<<31>>31)|0;if(!b)b=0;else{kw(b|0,0,a|0)|0;k[b>>2]=c;k[b+4>>2]=0;a=b+16|0;k[b+12>>2]=a;k[b+8>>2]=a+(c*56|0)}}return b|0}function Wm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=k[2252]|0;if((d|0)!=0?(qc[d&127](100)|0)!=0:0){d=0;g=6}else g=3;do if((g|0)==3){d=vg(64,0)|0;if(!d){g=6;break}else{e=d+0|0;f=e+64|0;do{i[e>>0]=0;e=e+1|0}while((e|0)<(f|0));k[c>>2]=d;k[d+4>>2]=b;k[d>>2]=a;f=k[a+8>>2]|0;e=(k[f+8>>2]|0)+9|0;f=(k[f+4>>2]|0)/2|0;f=(e|0)>(f|0)?e:f;k[d+16>>2]=f;d=a+56|0;e=d;e=ow(f|0,((f|0)<0)<<31>>31|0,k[e>>2]|0,k[e+4>>2]|0)|0;k[d>>2]=e;k[d+4>>2]=L;d=0;break}}while(0);if((g|0)==6){k[c>>2]=d;Ym(b);d=7}return d|0}function Xm(a){a=a|0;if(a){Ym(k[a+4>>2]|0);$c(a)}return}function Ym(a){a=a|0;var b=0,c=0;if((a|0)!=0?(k[a>>2]|0)>0:0){b=a+12|0;c=0;do{_p((k[b>>2]|0)+(c*56|0)|0);c=c+1|0}while((c|0)<(k[a>>2]|0))}$c(a);return}function Zm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;n=k[b>>2]|0;r=b+4|0;k[r>>2]=a;a:do if((n|0)>0){o=b+12|0;p=0;do{j=k[o>>2]|0;h=j+(p*56|0)|0;j=k[j+(p*56|0)+48>>2]|0;if(j){m=k[j>>2]|0;g=k[(k[m+8>>2]|0)+24>>2]|0;c=Zm(m,k[j+4>>2]|0)|0;if(c)break a;i=k[j+16>>2]|0;e=m+48|0;f=k[e>>2]|0;d=m+56|0;if(!f){c=Tp(g,e)|0;g=d;k[g>>2]=0;k[g+4>>2]=0;if(c)break a;f=k[e>>2]|0;e=0;d=0}else{e=k[d>>2]|0;d=k[d+4>>2]|0}k[j+48>>2]=f;j=j+8|0;k[j>>2]=e;k[j+4>>2]=d;j=ow(e|0,d|0,i|0,((i|0)<0)<<31>>31|0)|0;c=m+56|0;k[c>>2]=j;k[c+4>>2]=L;c=Zp(h)|0;if(c)break a}p=p+1|0}while((p|0)<(n|0));c=k[b>>2]|0;q=12}else{c=n;q=12}while(0);if((q|0)==12){d=c+-1|0;b:do if((d|0)>0){h=b+12|0;i=b+8|0;f=c;e=c;g=d;while(1){c=(f|0)/2|0;if((e|0)>(c|0)){e=g-c<<1;c=e;e=e|1}else{e=g<<1;n=k[i>>2]|0;c=k[n+(e<<2)>>2]|0;e=k[n+((e|1)<<2)>>2]|0}d=k[h>>2]|0;if(k[d+(c*56|0)+24>>2]|0){if(k[d+(e*56|0)+24>>2]|0){n=($p(k[r>>2]|0,k[d+(c*56|0)+32>>2]|0,k[d+(c*56|0)+20>>2]|0,k[d+(e*56|0)+32>>2]|0,k[d+(e*56|0)+20>>2]|0)|0)<1;c=n?c:e}}else c=e;k[(k[i>>2]|0)+(g<<2)>>2]=c;c=g+-1|0;if((c|0)<=0)break b;e=g;f=k[b>>2]|0;g=c}}while(0);c=l[(k[a+12>>2]|0)+7>>0]|0}return c|0}function _m(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;d=a+76|0;do{b=j[d>>1]|0;c=k[a+(b<<2)+120>>2]|0;if(i[c+5>>0]|0){b=0;break}e=k[c+56>>2]|0;b=m[a+(b<<1)+78>>1]<<1;f=k[c+64>>2]|0;b=(l[f+b>>0]<<8|l[f+(b|1)>>0])&m[c+20>>1];b=wm(a,l[e+(b+1)>>0]<<16|l[e+b>>0]<<24|l[e+(b+2)>>0]<<8|l[e+(b+3)>>0])|0}while((b|0)==0);return b|0}function $m(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;q=a+8|0;e=k[(k[q>>2]|0)+4>>2]|0;u=k[a+4>>2]|0;s=a+12|0;c=Zp((k[s>>2]|0)+(e*56|0)|0)|0;if(!c){c=k[s>>2]|0;d=e|1;a=(k[a>>2]|0)+e|0;a:do if((a|0)>1){m=c;n=a;g=k[c+(d*56|0)+32>>2]|0;o=c+((e&65534)*56|0)|0;e=c+(d*56|0)|0;while(1){p=o+24|0;h=o;i=o+32|0;j=o+20|0;c=m;f=n;a=g;while(1){d=f;f=(f|0)/2|0;if(!(k[p>>2]|0)){g=a;break}if(((k[e+24>>2]|0)!=0?(r=$p(u,k[i>>2]|0,k[j>>2]|0,a,k[e+20>>2]|0)|0,(r|0)>=0):0)?!((r|0)==0&o>>>0<e>>>0):0){t=10;break}g=k[s>>2]|0;a=k[q>>2]|0;k[a+(f<<2)>>2]=(h-g|0)/56|0;e=k[a+((f^1)<<2)>>2]|0;if((d|0)<=3){c=g;break a}else{c=g;a=k[g+(e*56|0)+32>>2]|0;e=g+(e*56|0)|0}}if((t|0)==10){t=0;c=k[s>>2]|0;g=(k[p>>2]|0)==0?a:0}a=k[q>>2]|0;k[a+(f<<2)>>2]=(e-c|0)/56|0;if((d|0)>3){m=c;n=f;o=c+((k[a+((f^1)<<2)>>2]|0)*56|0)|0}else break}}else a=k[q>>2]|0;while(0);k[b>>2]=(k[c+((k[a+4>>2]|0)*56|0)+24>>2]|0)==0&1;c=l[(k[u+12>>2]|0)+7>>0]|0}return c|0}function an(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=a+4|0;e=k[d>>2]|0;k[e+4>>2]=k[a>>2];a=Qn(e,b,0)|0;if(!a){a=k[(k[d>>2]|0)+8>>2]|0;if(a)do{if(i[a+72>>0]&16)i[a+73>>0]=0;a=k[a+8>>2]|0}while((a|0)!=0);a=aq(e,b,0,c)|0}return a|0}function bn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=r;r=r+32|0;if((r|0)>=(s|0))ka();o=z;y=z+16|0;x=z+12|0;w=z+8|0;k[y>>2]=0;f=k[a+12>>2]|0;if(!b){b=bq(a,c)|0;k[x>>2]=b}else{k[x>>2]=b;p=(k[b+68>>2]|0)+26|0;j[p>>1]=(j[p>>1]|0)+1<<16>>16}e=Lg(k[f+68>>2]|0)|0;k[w>>2]=e;do if(!e){p=f+56|0;n=k[p>>2]|0;A=n+36|0;e=n+37|0;f=n+38|0;n=n+39|0;g=l[e>>0]<<16|l[A>>0]<<24|l[f>>0]<<8|l[n>>0];h=g+1|0;i[A>>0]=h>>>24;i[e>>0]=h>>>16;i[f>>0]=h>>>8;i[n>>0]=h;n=a+22|0;if(j[n>>1]&4){if(!b){f=il(a,c,x,0)|0;k[w>>2]=f;if(f){d=f;break}b=k[x>>2]|0}f=Lg(k[b+68>>2]|0)|0;k[w>>2]=f;if(f){d=f;break}kw(k[b+56>>2]|0,0,k[(k[b+52>>2]|0)+32>>2]|0)|0}if((i[a+17>>0]|0)!=0?(Ep(a,c,2,0,w),d=k[w>>2]|0,(d|0)!=0):0)break;if(g){e=k[p>>2]|0;e=l[e+33>>0]<<16|l[e+32>>0]<<24|l[e+34>>0]<<8|l[e+35>>0];d=il(a,e,y,0)|0;k[w>>2]=d;if(d)break;d=k[y>>2]|0;h=d+56|0;g=k[h>>2]|0;g=l[g+5>>0]<<16|l[g+4>>0]<<24|l[g+6>>0]<<8|l[g+7>>0];f=(k[a+36>>2]|0)>>>2;if(g>>>0>(f+-2|0)>>>0){k[o>>2]=58627;k[o+4>>2]=10788;gd(11,13600,o);k[w>>2]=11;d=11;break}if(g>>>0<(f+-8|0)>>>0){d=Lg(k[d+68>>2]|0)|0;k[w>>2]=d;if(d)break;p=k[h>>2]|0;o=g+1|0;i[p+4>>0]=o>>>24;i[p+5>>0]=o>>>16;i[p+6>>0]=o>>>8;i[p+7>>0]=o;p=g<<2;o=k[h>>2]|0;i[o+(p+8)>>0]=c>>>24;i[o+(p+9)>>0]=c>>>16;i[o+(p+10)>>0]=c>>>8;i[o+(p+11)>>0]=c;if((((b|0)!=0?(j[n>>1]&4)==0:0)?(q=k[b+68>>2]|0,t=q+24|0,u=m[t>>1]|0,(u&2|0)!=0):0)?(k[(k[q+16>>2]|0)+96>>2]|0)==0:0)j[t>>1]=u|32;e=a+60|0;d=k[e>>2]|0;do if(!d){b=k[a+44>>2]|0;d=vg(512,0)|0;if(!d){k[e>>2]=0;d=7;break}else{kw(d|0,0,512)|0;k[d>>2]=b;k[e>>2]=d;v=28;break}}else v=28;while(0);if((v|0)==28)if((k[d>>2]|0)>>>0<c>>>0)d=0;else d=gi(d,c)|0;k[w>>2]=d;break}}else e=0;if(!b){d=il(a,c,x,0)|0;k[w>>2]=d;if(d)break;b=k[x>>2]|0}d=Lg(k[b+68>>2]|0)|0;k[w>>2]=d;if(!d){d=b+56|0;q=k[d>>2]|0;i[q>>0]=e>>>24;i[q+1>>0]=e>>>16;i[q+2>>0]=e>>>8;i[q+3>>0]=e;d=(k[d>>2]|0)+4|0;i[d>>0]=0;i[d+1>>0]=0;i[d+2>>0]=0;i[d+3>>0]=0;d=k[p>>2]|0;i[d+32>>0]=c>>>24;i[d+33>>0]=c>>>16;i[d+34>>0]=c>>>8;i[d+35>>0]=c;d=0}}else d=e;while(0);b=k[x>>2]|0;if(b){i[b>>0]=0;Gg(k[b+68>>2]|0)}b=k[y>>2]|0;if(b)Gg(k[b+68>>2]|0);r=z;return d|0}function cn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;P=r;r=r+48|0;if((r|0)>=(s|0))ka();M=P+24|0;D=P;w=P+36|0;N=P+32|0;t=b+72|0;L=k[t>>2]|0;u=k[a>>2]|0;p=k[b+68>>2]|0;q=u+15|0;if((i[q>>0]|0)!=0?(g=Lg(p)|0,(g|0)!=0):0)O=20;else O=3;a:do if((O|0)==3){h=p+24|0;o=j[h>>1]|0;if((o&2)!=0?(Zo(p)|0)!=0:0){g=_o(p)|0;if(g){O=20;break}o=j[h>>1]|0}if((o&4)==0|(f|0)!=0)n=0;else n=k[p+20>>2]|0;j[h>>1]=o&65531;A=u+204|0;f=fc[k[8744+132>>2]&63](k[(k[A>>2]|0)+40>>2]|0,e,0)|0;f=nl(k[A>>2]|0,e,f)|0;do if(f){j[h>>1]=m[h>>1]|m[f+24>>1]&4;if(!(i[q>>0]|0)){rl(f);break}else{cq(f,(k[u+24>>2]|0)+1|0);break}}while(0);o=k[p+20>>2]|0;cq(p,e);Yo(p);if(i[q>>0]|0){cq(f,o);Gg(f)}do if(n){g=Eg(u,n,M,0)|0;if(!g){A=k[M>>2]|0;z=A+24|0;j[z>>1]=m[z>>1]|4;Yo(A);Gg(A);break}if(n>>>0>(k[u+28>>2]|0)>>>0){O=20;break a}hi(k[u+56>>2]|0,n,k[u+200>>2]|0);O=20;break a}while(0);k[N>>2]=0;k[t>>2]=e;if(c<<24>>24==1|c<<24>>24==5){g=dq(b)|0;k[N>>2]=g;if(!g)O=25;else break}else{f=k[b+56>>2]|0;f=l[f+1>>0]<<16|l[f>>0]<<24|l[f+2>>0]<<8|l[f+3>>0];if(f){Ep(a,f,4,e,N);g=k[N>>2]|0;if(!g)O=25;else break}}if((O|0)==25?c<<24>>24==1:0){g=0;break}g=il(a,d,w,0)|0;k[N>>2]=g;if(!g){z=k[w>>2]|0;A=z+68|0;g=Lg(k[A>>2]|0)|0;k[N>>2]=g;if(g){if(!z)break;Gg(k[A>>2]|0);break}b:do if(c<<24>>24==4){g=k[z+56>>2]|0;h=g+1|0;n=g+2|0;f=g+3|0;if((l[h>>0]<<16|l[g>>0]<<24|l[n>>0]<<8|l[f>>0]|0)==(L|0)){i[g>>0]=e>>>24;i[h>>0]=e>>>16;i[n>>0]=e>>>8;i[f>>0]=e;g=0;break}else{k[M>>2]=56060;k[M+4>>2]=10788;gd(11,13600,M);g=11;break}}else{x=i[z>>0]|0;eq(z)|0;w=j[z+18>>1]|0;y=w&65535;c:do if(w<<16>>16){b=z+56|0;u=z+20|0;p=z+64|0;v=c<<24>>24==3;w=D+18|0;f=0;while(1){t=k[b>>2]|0;q=f<<1;o=k[p>>2]|0;q=(l[o+q>>0]<<8|l[o+(q|1)>>0])&m[u>>1];o=t+q|0;if(v){wp(z,o,D);o=j[w>>1]|0;if((o<<16>>16!=0?(B=(o&65535)+q|0,C=t+(B+3)|0,C>>>0<=((k[b>>2]|0)+(m[u>>1]|0)|0)>>>0):0)?(E=t+B|0,F=t+(B+1)|0,G=t+(B+2)|0,(l[F>>0]<<16|l[E>>0]<<24|l[G>>0]<<8|l[C>>0]|0)==(L|0)):0){o=C;g=E;h=F;n=G;O=40;break}}else{g=t+(q+1)|0;h=t+(q+2)|0;n=t+(q+3)|0;if((l[g>>0]<<16|l[o>>0]<<24|l[h>>0]<<8|l[n>>0]|0)==(L|0)){O=42;break}}f=f+1|0;if((f|0)>=(y|0))break c}if((O|0)==40){i[g>>0]=e>>>24;i[h>>0]=e>>>16;i[n>>0]=e>>>8;i[o>>0]=e;break}else if((O|0)==42){i[o>>0]=e>>>24;i[g>>0]=e>>>16;i[h>>0]=e>>>8;i[n>>0]=e;break}}else f=0;while(0);do if((f|0)==(y|0)){if(c<<24>>24==5?(K=l[z+6>>0]|0,G=k[z+56>>2]|0,H=G+(K+8)|0,I=G+(K+9)|0,J=G+(K+10)|0,K=G+(K+11)|0,(l[I>>0]<<16|l[H>>0]<<24|l[J>>0]<<8|l[K>>0]|0)==(L|0)):0){i[H>>0]=e>>>24;i[I>>0]=e>>>16;i[J>>0]=e>>>8;i[K>>0]=e;break}k[M>>2]=56094;k[M+4>>2]=10788;gd(11,13600,M);g=11;break b}while(0);i[z>>0]=x;g=0}while(0);k[N>>2]=g;if(z)Gg(k[A>>2]|0);if(!g){Ep(a,e,c,d,N);g=k[N>>2]|0}}}while(0);if((O|0)==20)k[N>>2]=g;r=P;return g|0}function dn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=b+20|0;Ym(k[g>>2]|0);k[g>>2]=0;g=b+59|0;if(i[g>>0]|0){h=0;do{d=b+(h<<6)+76|0;rg(a,k[d>>2]|0);k[d>>2]=0;d=b+(h<<6)+80|0;e=k[d>>2]|0;if(e)do{f=e;e=k[e+4>>2]|0;if(f)$c(f)}while((e|0)!=0);k[d>>2]=0;e=b+(h<<6)+96|0;d=k[e>>2]|0;if(d){f=k[d>>2]|0;if(f){qc[k[f+4>>2]&127](d)|0;k[d>>2]=0}$c(d);k[e>>2]=0;d=b+(h<<6)+104|0;k[d>>2]=0;k[d+4>>2]=0}f=b+(h<<6)+112|0;e=k[f>>2]|0;if(e){d=k[e>>2]|0;if(d){qc[k[d+4>>2]&127](e)|0;k[e>>2]=0}$c(e);k[f>>2]=0;d=b+(h<<6)+120|0;k[d>>2]=0;k[d+4>>2]=0}h=h+1|0}while((h|0)<(l[g>>0]|0))}e=b+36|0;if((k[b+40>>2]|0)==0?(c=k[e>>2]|0,(c|0)!=0):0)do{d=c;c=k[c+4>>2]|0;if(d)$c(d)}while((c|0)!=0);k[e>>2]=0;k[b+44>>2]=0;i[b+56>>0]=0;k[b+48>>2]=0;k[b+8>>2]=0;c=b+32|0;rg(a,k[c>>2]|0);k[c>>2]=0;return}function en(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0,n=0,o=0,p=0,q=0;p=r;r=r+16|0;if((r|0)>=(s|0))ka();e=p+4|0;l=p;n=k[a>>2]|0;g=k[a+8>>2]|0;h=k[n+16>>2]|0;f=(k[h+(g<<4)+12>>2]|0)+78|0;j[f>>1]=m[f>>1]&65531;f=n+65|0;do if(!(i[f>>0]|0))if(c){o=c+4|0;b=k[o>>2]|0;if(!b){fq(a,k[c>>2]|0,0);d=0;break}d=c+8|0;q=k[d>>2]|0;if((q|0)!=0?(i[q>>0]|0)!=0:0){h=n+144|0;i[h>>0]=g;k[e>>2]=0;In(b,e)|0;b=k[d>>2]|0;k[n+140>>2]=k[e>>2];o=n+146|0;i[o>>0]=0;nh(n,b,-1,0,0,l,0)|0;b=k[n+52>>2]|0;i[h>>0]=0;do if((b|0)!=0?(i[o>>0]|0)==0:0){k[a+12>>2]=b;if((b|0)==7){i[f>>0]=1;break}else if((b|0)==9)break;if((b&255|0)!=6){o=k[c>>2]|0;fq(a,o,Xe(n)|0)}}while(0);rd(k[l>>2]|0)|0;d=0;break}b=k[c>>2]|0;if(!b){fq(a,0,0);d=0;break}b=gq(n,b,k[h+(g<<4)>>2]|0)|0;if((b|0)!=0?(In(k[o>>2]|0,b+40|0)|0)==0:0){fq(a,k[c>>2]|0,13528);d=0}else d=0}else d=0;else{fq(a,k[c>>2]|0,0);d=1}while(0);r=p;return d|0}function fn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+16|0;if((r|0)>=(s|0))ka();g=j;h=j+8|0;f=a+16|0;d=k[f>>2]|0;e=k[(k[d+(b<<4)+12>>2]|0)+32>>2]|0;if(e){d=e;do{hq(k[d+8>>2]|0);d=k[d>>2]|0}while((d|0)!=0);d=k[f>>2]|0}k[h>>2]=a;d=k[d+(b<<4)>>2]|0;k[h+4>>2]=d;do if(!(di(a,13384,d)|0))c=1;else{k[g>>2]=d;d=zh(a,13400,g)|0;if((d|0)!=0?(c=Ve(a,d,23,h,0)|0,rg(a,d),(c|0)!=7):0)break;i[a+65>>0]=1;c=7}while(0);r=j;return c|0}function gn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=k[a+12>>2]|0;if(!g){e=a+4|0;d=a+8|0;f=0}else{e=i[b>>0]|0;if(!(e<<24>>24))e=0;else{d=b;f=e;e=0;do{d=d+1|0;e=e<<3^e^(l[9328+(f&255)>>0]|0);f=i[d>>0]|0}while(f<<24>>24!=0)}f=(e>>>0)%((k[a>>2]|0)>>>0)|0;e=g+(f<<3)|0;d=g+(f<<3)+4|0}e=k[e>>2]|0;d=k[d>>2]|0;k[c>>2]=f;a:do if(!e)d=0;else while(1){e=e+-1|0;if(!(id(k[d+12>>2]|0,b)|0))break a;if(!e){d=0;break}else d=k[d>>2]|0}while(0);return d|0}function hn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,t=0,u=0;u=r;r=r+16|0;if((r|0)>=(s|0))ka();t=u;q=u+12|0;a:do if((d|0)>0){o=a+16|0;p=a+4|0;n=(b|0)==0;e=c;b=d;while(1){h=b+-1|0;if(!(k[o>>2]|0))break a;if((e|0)<1){e=b;b=5;break}if(jq(a,e)|0)break a;if(Eg(k[p>>2]|0,e,q,0)|0){b=8;break}j=k[q>>2]|0;m=k[j+4>>2]|0;do if(n)if((h|0)>0?(i[(k[a>>2]|0)+17>>0]|0)!=0:0){jn(a,l[m+1>>0]<<16|l[m>>0]<<24|l[m+2>>0]<<8|l[m+3>>0],4,e);b=h}else b=h;else{g=l[m+5>>0]<<16|l[m+4>>0]<<24|l[m+6>>0]<<8|l[m+7>>0];f=k[a>>2]|0;if(i[f+17>>0]|0){jn(a,e,2,0);f=k[a>>2]|0}if((g|0)>(((k[f+36>>2]|0)/4|0)+-2|0)){k[t>>2]=e;ln(a,44640,t);b=b+-2|0;break}b:do if((g|0)>0){b=0;while(1){e=b<<2;e=l[m+(e+9)>>0]<<16|l[m+(e+8)>>0]<<24|l[m+(e+10)>>0]<<8|l[m+(e+11)>>0];if(i[f+17>>0]|0)jn(a,e,2,0);jq(a,e)|0;b=b+1|0;if((b|0)==(g|0))break b;f=k[a>>2]|0}}while(0);b=h-g|0}while(0);e=l[m+1>>0]<<16|l[m>>0]<<24|l[m+2>>0]<<8|l[m+3>>0];if(j)Gg(j);if((b|0)<=0)break a}if((b|0)==5){k[t>>2]=e;k[t+4>>2]=d;k[t+8>>2]=c;ln(a,44552,t);break}else if((b|0)==8){k[t>>2]=e;ln(a,44616,t);break}}while(0);r=u;return}function jn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0;l=r;r=r+32|0;if((r|0)>=(s|0))ka();h=l;f=l+24|0;g=l+20|0;e=mp(k[a>>2]|0,b,f,g)|0;if((e|0)==7|(e|0)==3082){k[a+24>>2]=1;j=3}else if(!e){f=i[f>>0]|0;e=k[g>>2]|0;if(!((e|0)==(d|0)?f<<24>>24==c<<24>>24:0)){k[h>>2]=b;k[h+4>>2]=c&255;k[h+8>>2]=d;k[h+12>>2]=f&255;k[h+16>>2]=e;ln(a,44496,h)}}else j=3;if((j|0)==3){k[h>>2]=b;ln(a,44464,h)}r=l;return}function kn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0;Z=r;r=r+64|0;if((r|0)>=(s|0))ka();S=Z+40|0;h=Z+56|0;N=Z+32|0;O=Z+24|0;K=Z;X=N;k[X>>2]=0;k[X+4>>2]=0;X=O;k[X>>2]=0;k[X+4>>2]=0;X=a+28|0;Y=k[X>>2]|0;T=a+32|0;U=k[T>>2]|0;V=a+36|0;W=k[V>>2]|0;P=k[a>>2]|0;J=P+36|0;Q=k[J>>2]|0;if((b|0)!=0?(jq(a,b)|0)==0:0){k[X>>2]=43768;k[T>>2]=b;n=il(P,b,h,0)|0;do if(!n){R=k[h>>2]|0;i[R>>0]=0;n=eq(R)|0;if(n){k[S>>2]=n;ln(a,43824,S);if(!R){e=-1;break}Gg(k[R+68>>2]|0);e=-1;break}w=a+16|0;L=R+18|0;n=j[L>>1]|0;a:do if(!(n<<16>>16)){o=R+5|0;n=0;e=0}else{x=R+56|0;y=R+20|0;z=R+64|0;A=K+12|0;B=R+2|0;C=K+16|0;D=Q+-5|0;E=Q+-4|0;F=P+17|0;G=R+5|0;t=0;u=0;while(1){if(!(k[w>>2]|0)){o=G;e=t;break a}k[X>>2]=43864;k[T>>2]=b;k[V>>2]=u;h=k[x>>2]|0;n=u<<1;o=k[z>>2]|0;n=(l[o+n>>0]<<8|l[o+(n|1)>>0])&m[y>>1];o=h+n|0;wp(R,o,K);p=k[A>>2]|0;if(i[B>>0]|0){e=K;v=k[e>>2]|0;e=k[e+4>>2]|0;if(u){g=O;f=k[g>>2]|0;g=k[g+4>>2]|0;if(!((e|0)>(g|0)|(e|0)==(g|0)&v>>>0>f>>>0)){q=S;k[q>>2]=v;k[q+4>>2]=e;q=S+8|0;k[q>>2]=f;k[q+4>>2]=g;ln(a,43896,S)}}else{f=O;k[f>>2]=v;k[f+4>>2]=e;f=N;k[f>>2]=v;k[f+4>>2]=e}f=O;k[f>>2]=v;k[f+4>>2]=e}v=k[C>>2]|0;e=v&65535;if(p>>>0>e>>>0?(H=(v>>>16)+n|0,I=h+H|0,I>>>0<=((k[x>>2]|0)+(k[J>>2]|0)|0)>>>0):0){v=l[h+(H+1)>>0]<<16|l[I>>0]<<24|l[h+(H+2)>>0]<<8|l[h+(H+3)>>0];if(i[F>>0]|0)jn(a,v,3,b);hn(a,0,v,((D+p-e|0)>>>0)/(E>>>0)|0)}if(!(i[G>>0]|0)){q=l[h+(n+1)>>0]<<16|l[o>>0]<<24|l[h+(n+2)>>0]<<8|l[h+(n+3)>>0];if(i[F>>0]|0)jn(a,q,5,b);e=kn(a,q,N,(u|0)==0?0:O)|0;if(!((u|0)<1|(e|0)==(t|0)))ln(a,43944,S)}else e=t;u=u+1|0;n=j[L>>1]|0;if((u|0)>=(n&65535|0)){o=G;break}else t=e}}while(0);if(!(i[o>>0]|0)){h=l[R+6>>0]|0;G=k[R+56>>2]|0;h=l[G+(h+9)>>0]<<16|l[G+(h+8)>>0]<<24|l[G+(h+10)>>0]<<8|l[G+(h+11)>>0];k[X>>2]=43976;k[T>>2]=b;if(i[P+17>>0]|0){jn(a,h,5,b);n=j[L>>1]|0}kn(a,h,0,n<<16>>16!=0?O:0)|0;G=i[o>>0]|0;k[X>>2]=43768;k[T>>2]=b;if(G<<24>>24)M=34}else{k[X>>2]=43768;k[T>>2]=b;M=34}do if((M|0)==34?(i[R+2>>0]|0)!=0:0){h=(d|0)!=0;if(!c){if(!h)break;h=N;n=k[h>>2]|0;h=k[h+4>>2]|0;f=d;g=k[f>>2]|0;f=k[f+4>>2]|0;if((h|0)>(f|0)|(h|0)==(f|0)&n>>>0>g>>>0)break;G=S;k[G>>2]=n;k[G+4>>2]=h;G=S+8|0;k[G>>2]=g;k[G+4>>2]=f;ln(a,44200,S);break}if(!h){n=O;h=k[n>>2]|0;n=k[n+4>>2]|0;f=c;g=k[f>>2]|0;f=k[f+4>>2]|0;if(!((n|0)>(f|0)|(n|0)==(f|0)&h>>>0>g>>>0))break;G=S;k[G>>2]=h;k[G+4>>2]=n;G=S+8|0;k[G>>2]=g;k[G+4>>2]=f;ln(a,44008,S);break}h=N;n=k[h>>2]|0;h=k[h+4>>2]|0;f=c;g=k[f>>2]|0;f=k[f+4>>2]|0;if(!((h|0)>(f|0)|(h|0)==(f|0)&n>>>0>g>>>0)){G=S;k[G>>2]=n;k[G+4>>2]=h;G=S+8|0;k[G>>2]=g;k[G+4>>2]=f;ln(a,44072,S)}g=O;f=k[g>>2]|0;g=k[g+4>>2]|0;h=d;n=k[h>>2]|0;h=k[h+4>>2]|0;if((g|0)>(h|0)|(g|0)==(h|0)&f>>>0>n>>>0){G=S;k[G>>2]=f;k[G+4>>2]=g;g=S+8|0;k[g>>2]=n;k[g+4>>2]=h;ln(a,44136,S);g=O;f=k[g>>2]|0;g=k[g+4>>2]|0}G=c;k[G>>2]=f;k[G+4>>2]=g}while(0);t=k[R+56>>2]|0;u=l[R+6>>0]|0;v=Lo(k[P+32>>2]|0)|0;k[X>>2]=0;if(v){q=((l[t+(u+5)>>0]<<8|l[t+(u+6)>>0])+65535&65535)+1|0;kw(v+q|0,0,Q-q|0)|0;kw(v|0,1,q|0)|0;q=l[t+(u+3)>>0]<<8|l[t+(u+4)>>0];g=u+12-(l[o>>0]<<2)|0;if(q){f=Q+-4|0;p=0;do{o=g+(p<<1)|0;o=l[t+o>>0]<<8|l[t+(o+1)>>0];if((o|0)>(f|0))h=65536;else h=(Qp(R,t+o|0)|0)&65535;n=h+o|0;if((n|0)<=(Q|0)){if(h)do{n=n+-1|0;G=v+n|0;i[G>>0]=(i[G>>0]|0)+1<<24>>24}while((n|0)>(o|0))}else{k[X>>2]=0;k[S>>2]=p;k[S+4>>2]=b;ln(a,44264,S)}p=p+1|0}while((p|0)<(q|0))}f=l[t+(u+1)>>0]<<8|l[t+(u+2)>>0];if(f)do{g=l[t+(f+2)>>0]<<8|l[t+(f+3)>>0];if(g){g=g+f|0;do{g=g+-1|0;G=v+g|0;i[G>>0]=(i[G>>0]|0)+1<<24>>24}while((g|0)>(f|0))}f=l[t+f>>0]<<8|l[t+(f+1)>>0]}while((f|0)!=0);b:do if((Q|0)>0){g=0;f=0;while(1){h=i[v+f>>0]|0;if(h<<24>>24){if(h<<24>>24>1)break}else g=g+1|0;f=f+1|0;if((f|0)>=(Q|0))break b}k[S>>2]=f;k[S+4>>2]=b;ln(a,44312,S)}else g=0;while(0);f=l[t+(u+7)>>0]|0;if((g|0)!=(f|0)){k[S>>2]=g;k[S+4>>2]=f;k[S+8>>2]=b;ln(a,44352,S)}}else k[a+24>>2]=1;el(v);if(R)Gg(k[R+68>>2]|0)}else{k[S>>2]=n;ln(a,43784,S);e=-1}while(0);k[X>>2]=Y;k[T>>2]=U;k[V>>2]=W;e=e+1|0}else e=0;r=Z;return e|0}function ln(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+224|0;if((r|0)>=(s|0))ka();f=j;g=j+8|0;h=j+24|0;d=a+16|0;e=k[d>>2]|0;if(e){k[d>>2]=e+-1;d=a+20|0;k[d>>2]=(k[d>>2]|0)+1;k[g>>2]=c;c=a+40|0;if(k[a+52>>2]|0)Xk(c,43760,1);d=k[a+28>>2]|0;if(d){e=k[a+36>>2]|0;k[f>>2]=k[a+32>>2];k[f+4>>2]=e;fd(200,h,d,f)|0;d=h;while(1)if(!(i[d>>0]|0))break;else d=d+1|0;Xk(c,h,d-h&1073741823)}xg(c,1,b,g);if((i[a+65>>0]|0)==1)k[a+24>>2]=1}r=j;return}function mn(a){a=a|0;var b=0,c=0;b=a+8|0;c=k[b>>2]|0;do if((c|0)!=(k[a+4>>2]|0))if((i[a+24>>0]|0)==1){rg(k[a>>2]|0,c);break}else{$c(c);break}while(0);k[b>>2]=0;return}function nn(a){a=a|0;var b=0,c=0,d=0,e=0;c=k[a+32>>2]|0;e=a+8|0;if(!((j[e>>1]&9312)==0?(k[a+24>>2]|0)==0:0))Vg(a);b=rh(c,64,0)|0;d=a+20|0;k[d>>2]=b;if(!(i[c+65>>0]|0)){do if(!c)b=qc[k[8744+48>>2]&127](b)|0;else{if((k[c+276>>2]|0)>>>0<=b>>>0?(k[c+280>>2]|0)>>>0>b>>>0:0){b=m[c+248>>1]|0;break}b=qc[k[8744+48>>2]&127](b)|0}while(0);k[a+24>>2]=b;d=k[d>>2]|0;k[d>>2]=0;k[d+4>>2]=c;k[d+8>>2]=0;k[d+12>>2]=0;k[d+20>>2]=0;k[d+16>>2]=d+32;j[d+24>>1]=(b+1048544|0)>>>4;j[d+26>>1]=1;k[d+28>>2]=0;k[a>>2]=d;j[e>>1]=32}else{j[e>>1]=1;k[a+24>>2]=0}return}function on(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;f=tn(a)|0;if(f){g=f;k[g>>2]=b;k[g+4>>2]=c;k[f+8>>2]=0;g=a+12|0;e=k[g>>2]|0;if(!e)k[a+8>>2]=f;else{a=a+26|0;d=m[a>>1]|0;if((d&1|0)!=0?(h=e,i=k[h+4>>2]|0,!((i|0)<(c|0)|((i|0)==(c|0)?(k[h>>2]|0)>>>0<b>>>0:0))):0)j[a>>1]=d&65534;k[e+8>>2]=f}k[g>>2]=f}return}function pn(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=r;r=r+160|0;if((r|0)>=(s|0))ka();f=g;kw(f|0,0,160)|0;a:do if(!a){a=0;b=0}else{b=0;while(1){c=a+8|0;e=k[c>>2]|0;k[c>>2]=0;if(!b)b=f;else{c=b;b=f;d=0;do{a=rn(c,a)|0;k[b>>2]=0;d=d+1|0;b=f+(d<<2)|0;c=k[b>>2]|0}while((c|0)!=0)}k[b>>2]=a;if(!e){a=0;b=0;break a}a=e;b=k[f>>2]|0}}while(0);do{a=rn(a,k[f+(b<<2)>>2]|0)|0;b=b+1|0}while((b|0)!=40);r=g;return a|0}function qn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;f=r;r=r+16|0;if((r|0)>=(s|0))ka();d=f;e=k[a+12>>2]|0;if(!e)k[b>>2]=a;else{qn(e,b,d);k[(k[d>>2]|0)+8>>2]=a}d=a+8|0;e=k[d>>2]|0;if(!e)k[c>>2]=a;else qn(e,d,c);r=f;return}function rn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+16|0;if((r|0)>=(s|0))ka();i=j;c=(a|0)!=0;a:do if(c&(b|0)!=0){d=a;a=i;while(1){g=d;f=k[g>>2]|0;g=k[g+4>>2]|0;while(1){e=b;c=k[e>>2]|0;e=k[e+4>>2]|0;if((g|0)<(e|0)|(g|0)==(e|0)&f>>>0<c>>>0){h=4;break}if(!((e|0)<(g|0)|(e|0)==(g|0)&c>>>0<f>>>0))break;k[a+8>>2]=b;c=k[b+8>>2]|0;if(!c){e=0;c=1;break a}else{a=b;b=c}}if((h|0)==4){h=0;k[a+8>>2]=d;a=d}d=k[d+8>>2]|0;c=(d|0)!=0;if(!(c&(b|0)!=0)){e=b;b=a;break}}}else{e=b;d=a;b=i}while(0);k[b+8>>2]=c?d:e;r=j;return k[i+8>>2]|0}function sn(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;e=r;r=r+16|0;if((r|0)>=(s|0))ka();d=e;c=a+8|0;b=k[c>>2]|0;k[d>>2]=b;k[c>>2]=0;k[a+12>>2]=0;if(!b)b=a;else{c=1;while(1){f=b+8|0;k[d>>2]=k[f>>2];k[b+12>>2]=a;a=kq(d,c)|0;k[f>>2]=a;a=k[d>>2]|0;if(!a)break;else{f=b;b=a;c=c+1|0;a=f}}}r=e;return b|0}function tn(a){a=a|0;var b=0,c=0,d=0,e=0;d=a+24|0;b=j[d>>1]|0;if(!(b<<16>>16)){b=rh(k[a+4>>2]|0,1016,0)|0;if(!b)b=0;else{k[b>>2]=k[a>>2];k[a>>2]=b;b=b+8|0;k[a+16>>2]=b;j[d>>1]=63;c=62;e=5}}else{c=b+-1<<16>>16;b=k[a+16>>2]|0;e=5}if((e|0)==5){j[d>>1]=c;k[a+16>>2]=b+16}return b|0}function un(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0;o=r;r=r+16|0;if((r|0)>=(s|0))ka();n=o;d=a+4|0;if(i[d>>0]|0){b=vn(a)|0;if(!b){h=i[d>>0]|0;c=4}}else{h=0;c=4}do if((c|0)==4){e=k[a>>2]|0;l=k[a+60>>2]|0;f=k[a+212>>2]|0;b=a+160|0;c=k[b>>2]|0;b=k[b+4>>2]|0;g=a+208|0;k[g>>2]=0;d=(k[e+4>>2]|0)+112|0;m=vg(d,0)|0;if(!m)b=7;else{kw(m|0,0,d|0)|0;k[m>>2]=e;p=m+112|0;d=m+8|0;k[d>>2]=p;k[m+4>>2]=l;j[m+40>>1]=-1;a=m+16|0;k[a>>2]=c;k[a+4>>2]=b;k[m+100>>2]=f;a=m+48|0;i[a>>0]=1;c=m+49|0;i[c>>0]=1;i[m+43>>0]=h<<24>>24!=0?2:0;k[n>>2]=524294;b=yc[k[e+24>>2]&31](e,f,p,524294,n)|0;if(b){lq(m,0);c=k[d>>2]|0;d=k[c>>2]|0;if(d){qc[k[d+4>>2]&127](c)|0;k[c>>2]=0}$c(m);break}if(k[n>>2]&1)i[m+46>>0]=1;d=qc[k[(k[l>>2]|0)+48>>2]&127](l)|0;if(d&1024)i[a>>0]=0;if(d&4096)i[c>>0]=0;k[g>>2]=m;b=0}}while(0);r=o;return b|0}function vn(a){a=a|0;var b=0,c=0,d=0;d=kl(a,4)|0;if((d|0)!=0?(b=k[a+60>>2]|0,c=k[b>>2]|0,(c|0)!=0):0){if(!(i[a+13>>0]|0))wc[k[c+32>>2]&127](b,1)|0;b=a+17|0;if((i[b>>0]|0)!=5)i[b>>0]=1}return d|0}function wn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=r;r=r+16|0;if((r|0)>=(s|0))ka();h=j;if(!a)e=0;else{g=a+4|0;e=k[g>>2]|0;e=wc[k[(k[e>>2]|0)+28>>2]&127](e,4)|0;if(!e){f=a+43|0;if(!(i[f>>0]|0))i[f>>0]=1;e=Yn(a,0,0,0,b,c,d,0,0)|0;if(!e){k[h>>2]=-1;e=k[g>>2]|0;fc[k[(k[e>>2]|0)+40>>2]&63](e,10,h)|0;if((k[h>>2]|0)==1){e=a+16|0;b=k[e+4>>2]|0;if((b|0)>-1|(b|0)==-1&(k[e>>2]|0)>>>0>4294967295){cp(a,0,0);c=0;e=0}else{c=0;e=0}}else{c=1;e=0}}else c=0}else c=0;lq(a,c);b=k[a+8>>2]|0;f=k[b>>2]|0;if(f){qc[k[f+4>>2]&127](b)|0;k[b>>2]=0}if(c){b=k[3164]|0;if(b)sc[b&3]();b=k[a>>2]|0;fc[k[b+28>>2]&63](b,k[a+100>>2]|0,0)|0;b=k[3166]|0;if(b)sc[b&3]()}$c(k[a+32>>2]|0);$c(a)}r=j;return e|0}function xn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=a+5|0;d=i[h>>0]|0;if(!((i[a+15>>0]|0)!=0?!((b|0)==2|(b|0)==4):0))e=3;do if(((e|0)==3?(c=d&255,(c|0)!=(b|0)):0)?(i[h>>0]=b,(i[a+4>>0]|0)==0&(c&5|0)==1&(b&1|0)==0):0){c=k[a+64>>2]|0;d=k[c>>2]|0;if(d){qc[k[d+4>>2]&127](c)|0;k[c>>2]=0}g=a+17|0;if((l[g>>0]|0)>1){c=k[a>>2]|0;fc[k[c+28>>2]&63](c,k[a+172>>2]|0,0)|0;break}d=a+16|0;c=i[d>>0]|0;f=c<<24>>24==0;if(f){b=hl(a)|0;e=i[d>>0]|0}else{e=c;b=0}if(e<<24>>24==1)b=kl(a,2)|0;if((b|0)==0?(d=k[a>>2]|0,fc[k[d+28>>2]&63](d,k[a+172>>2]|0,0)|0,c<<24>>24==1):0){d=k[a+60>>2]|0;c=k[d>>2]|0;if(!c)break;if(!(i[a+13>>0]|0))wc[k[c+32>>2]&127](d,1)|0;if((i[g>>0]|0)==5)break;i[g>>0]=1;break}if(f)So(a)}while(0);return l[h>>0]|0}function yn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;f=r;r=r+16|0;if((r|0)>=(s|0))ka();e=f;d=f+4|0;do if(c)if(!(nh(a,c,-1,0,0,d,0)|0)){d=k[d>>2]|0;Xd(d)|0;a=mq(a,d,b)|0;break}else{ih(b,a,Xe(a)|0,e);a=Sf(a)|0;break}else a=7;while(0);r=f;return a|0}function zn(a){a=a|0;var b=0;k[(k[a+4>>2]|0)+4>>2]=k[a>>2];b=Pg(a,0)|0;if(!b)b=Og(a,0)|0;return b|0}function An(a,b){a=a|0;b=b|0;var c=0,d=0;c=k[a+4>>2]|0;k[c+4>>2]=k[a>>2];a=b&255;if(j[c+22>>1]&2){b=c+17|0;if(((a|0)!=0|0)==(l[b>>0]|0|0))d=4;else b=8}else{b=c+17|0;d=4}if((d|0)==4){i[b>>0]=(a|0)!=0&1;i[c+18>>0]=(a|0)==2&1;b=0}return b|0}function Bn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;f=r;r=r+16|0;if((r|0)>=(s|0))ka();d=f;c=nh(a,c,-1,0,0,d,0)|0;do if(!c){d=k[d>>2]|0;while(1){if((Xd(d)|0)!=100){e=6;break}c=yn(a,b,ke(d,0)|0)|0;if(c){e=5;break}}if((e|0)==5){mq(a,d,b)|0;break}else if((e|0)==6){c=mq(a,d,b)|0;break}}while(0);r=f;return c|0}function Cn(a){a=a|0;var b=0;b=a+100|0;k[b>>2]=(k[b>>2]|0)+1;b=k[a+88>>2]|0;if(b)do{k[b+16>>2]=1;b=k[b+44>>2]|0}while((b|0)!=0);ip(k[a+204>>2]|0,0);return}function Dn(a){a=a|0;var b=0,c=0,d=0;d=a+304|0;b=k[d>>2]|0;if(!((b|0)%5|0)){b=(b<<2)+20|0;c=a+328|0;b=wo(a,k[c>>2]|0,b,((b|0)<0)<<31>>31)|0;if(!b)b=7;else{a=b+(k[d>>2]<<2)|0;k[a+0>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;k[c>>2]=b;b=0}}else b=0;return b|0}function En(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=r;r=r+16|0;if((r|0)>=(s|0))ka();w=z;p=z+8|0;u=z+4|0;f=b+56|0;q=k[f>>2]|0;t=k[b+52>>2]|0;k[u>>2]=0;k[w>>2]=k[b>>2];y=zh(a,10344,w)|0;do if(!y)f=7;else{v=rh(a,28,0)|0;if(!v){rg(a,y);f=7;break}n=v+0|0;m=n+28|0;do{i[n>>0]=0;n=n+1|0}while((n|0)<(m|0));k[v>>2]=a;k[v+4>>2]=c;o=k[b+68>>2]|0;a:do if(o){n=k[a+20>>2]|0;if((n|0)>0){h=k[a+16>>2]|0;g=0;while(1){m=g+1|0;if((k[h+(g<<4)+12>>2]|0)==(o|0)){m=g;break a}if((m|0)<(n|0))g=m;else break}}else m=0}else m=-1e6;while(0);k[(k[f>>2]|0)+4>>2]=k[(k[a+16>>2]|0)+(m<<4)>>2];n=p+4|0;k[n>>2]=b;k[p>>2]=v;o=a+324|0;h=k[o>>2]|0;k[o>>2]=p;m=v+8|0;f=pc[d&7](a,k[c+8>>2]|0,t,q,m,u)|0;k[o>>2]=h;do if((f|0)==7){i[a+65>>0]=1;x=11}else if(!f){h=k[m>>2]|0;if(h){k[h+0>>2]=0;k[h+4>>2]=0;k[h+8>>2]=0;k[k[m>>2]>>2]=k[c>>2];k[v+12>>2]=1;if(k[n>>2]|0){k[w>>2]=k[b>>2];f=zh(a,28376,w)|0;k[e>>2]=f;Fn(v);f=1;break}u=b+60|0;k[v+24>>2]=k[u>>2];k[u>>2]=v;u=b+38|0;f=j[u>>1]|0;if(f<<16>>16>0){t=b+4|0;g=k[t>>2]|0;d=0;while(1){p=k[g+(d*24|0)+12>>2]|0;if(p){h=p;while(1)if(!(i[h>>0]|0))break;else h=h+1|0;m=h-p|0;o=m&1073741823;if((Kc(28424,p,6)|0)==0?(q=i[p+6>>0]|0,q<<24>>24==32|q<<24>>24==0):0)h=0;else x=24;b:do if((x|0)==24){x=0;if(!o)h=0;else{h=0;while(1){if((Kc(28432,p+h|0,7)|0)==0?(q=i[p+(h+7)>>0]|0,q<<24>>24==32|q<<24>>24==0):0)break;h=h+1|0;if((h|0)>=(o|0))break b}h=h+1|0}}while(0);if((h|0)<(o|0)){n=(i[p+(h+6)>>0]|0)!=0|6;g=h+n|0;if((g|0)<=(o|0)){m=(m&1073741823)+1-n|0;f=g;g=h;while(1){i[p+g>>0]=i[p+f>>0]|0;g=g+1|0;if((g|0)==(m|0))break;else f=g+n|0}}if((i[p+h>>0]|0)==0&(h|0)>0)i[p+(h+-1)>>0]=0;g=k[t>>2]|0;f=g+(d*24|0)+23|0;i[f>>0]=l[f>>0]|2;f=j[u>>1]|0}}d=d+1|0;if((d|0)>=(f<<16>>16|0)){f=0;break}}}else f=0}else f=0}else x=11;while(0);if((x|0)==11){g=k[u>>2]|0;if(!g){k[w>>2]=y;d=zh(a,28344,w)|0;k[e>>2]=d}else{k[w>>2]=g;d=zh(a,10344,w)|0;k[e>>2]=d;$c(k[u>>2]|0)}rg(a,v)}rg(a,y)}while(0);r=z;return f|0}function Fn(a){a=a|0;var b=0,c=0,d=0;b=k[a>>2]|0;d=a+12|0;c=(k[d>>2]|0)+-1|0;k[d>>2]=c;if(!c){c=k[a+8>>2]|0;if(c)qc[k[(k[c>>2]|0)+16>>2]&127](c)|0;rg(b,a)}return}function Gn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,r=0,s=0;s=a+10|0;d=b<<24>>24==1;if((i[s>>0]|0)==1|d){o=a+12|0;c=k[o>>2]|0;if(d){d=c&-2;k[o>>2]=d;g=d;d=d<<1|1}else{g=c;d=(c<<1)+2|0}p=a+16|0;c=k[p>>2]|0;n=c+g|0;q=a+32|0;r=rh(k[q>>2]|0,d,((d|0)<0)<<31>>31)|0;if(!r)c=7;else{d=i[s>>0]|0;if(d<<24>>24==2)if((g|0)>0){d=r;do{e=l[c>>0]|0;g=c+2|0;h=l[c+1>>0]<<8;f=h|e;if((h&63488|0)==55296&g>>>0<n>>>0){f=(f<<10&983040)+65536|e<<10&64512|l[g>>0]|l[c+3>>0]<<8&768;c=c+4|0}else c=g;do if(f>>>0>=128){if(f>>>0<2048){i[d>>0]=f>>>6&31|192;i[d+1>>0]=f&63|128;d=d+2|0;break}if(f>>>0<65536){i[d>>0]=f>>>12&15|224;i[d+1>>0]=f>>>6&63|128;i[d+2>>0]=f&63|128;d=d+3|0;break}else{i[d>>0]=f>>>18&7|240;i[d+1>>0]=f>>>12&63|128;i[d+2>>0]=f>>>6&63|128;i[d+3>>0]=f&63|128;d=d+4|0;break}}else{i[d>>0]=f;d=d+1|0}while(0)}while(c>>>0<n>>>0);h=55}else{d=r;h=55}else if(d<<24>>24!=1)if((g|0)>0){d=r;do{h=l[c>>0]<<8;g=c+2|0;f=l[c+1>>0]|0;e=h|f;if((h&63488|0)==55296&g>>>0<n>>>0){e=(e<<10&983040)+65536|f<<10&64512|l[c+3>>0]|l[g>>0]<<8&768;c=c+4|0}else c=g;do if(e>>>0>=128){if(e>>>0<2048){i[d>>0]=e>>>6&31|192;i[d+1>>0]=e&63|128;d=d+2|0;break}if(e>>>0<65536){i[d>>0]=e>>>12&15|224;i[d+1>>0]=e>>>6&63|128;i[d+2>>0]=e&63|128;d=d+3|0;break}else{i[d>>0]=e>>>18&7|240;i[d+1>>0]=e>>>12&63|128;i[d+2>>0]=e>>>6&63|128;i[d+3>>0]=e&63|128;d=d+4|0;break}}else{i[d>>0]=e;d=d+1|0}while(0)}while(c>>>0<n>>>0);h=55}else{d=r;h=55}else{d=(g|0)>0;if(b<<24>>24==2)if(d){d=r;g=c;while(1){c=g+1|0;e=i[g>>0]|0;f=e&255;if((e&255)>191){f=l[15360+(f+-192)>>0]|0;a:do if((c|0)==(n|0))c=n;else while(1){e=i[c>>0]|0;if((e&-64)<<24>>24!=-128)break a;g=g+2|0;f=e&63|f<<6;if((g|0)==(n|0)){c=n;break}else{e=c;c=g;g=e}}while(0);if(!(f>>>0<128|(f&-2048|0)==55296|(f&-2|0)==65534))if(f>>>0<65536)h=22;else{g=f+-65536|0;i[d>>0]=g>>>10&192|f>>>10&63;i[d+1>>0]=g>>>18&3|216;i[d+2>>0]=f;i[d+3>>0]=f>>>8&3|220;d=d+4|0}else{f=65533;h=22}}else h=22;if((h|0)==22){h=0;i[d>>0]=f;i[d+1>>0]=f>>>8;d=d+2|0}if(c>>>0<n>>>0)g=c;else break}}else d=r;else if(d){d=r;do{g=c+1|0;f=i[c>>0]|0;e=f&255;if((f&255)>191){e=l[15360+(e+-192)>>0]|0;b:do if((g|0)==(n|0))c=n;else{f=c;c=g;while(1){g=i[c>>0]|0;if((g&-64)<<24>>24!=-128)break b;f=f+2|0;e=g&63|e<<6;if((f|0)==(n|0)){c=n;break}else{g=c;c=f;f=g}}}while(0);if(!(e>>>0<128|(e&-2048|0)==55296|(e&-2|0)==65534))if(e>>>0<65536)h=31;else{g=e+-65536|0;i[d>>0]=g>>>18&3|216;i[d+1>>0]=g>>>10&192|e>>>10&63;i[d+2>>0]=e>>>8&3|220;i[d+3>>0]=e;d=d+4|0}else{e=65533;h=31}}else{c=g;h=31}if((h|0)==31){h=0;i[d>>0]=e>>>8;i[d+1>>0]=e;d=d+2|0}}while(c>>>0<n>>>0)}else d=r;k[o>>2]=d-r;i[d>>0]=0;d=d+1|0}if((h|0)==55)k[o>>2]=d-r;i[d>>0]=0;d=a+8|0;o=j[d>>1]|0;c=o&65535;if(!((o&9312)==0?(k[a+24>>2]|0)==0:0))Vg(a);j[d>>1]=c&29|514;i[s>>0]=b;k[p>>2]=r;k[a+20>>2]=r;c=k[q>>2]|0;do if(!c)c=qc[k[8744+48>>2]&127](r)|0;else{if((k[c+276>>2]|0)>>>0<=r>>>0?(k[c+280>>2]|0)>>>0>r>>>0:0){c=m[c+248>>1]|0;break}c=qc[k[8744+48>>2]&127](r)|0}while(0);k[a+24>>2]=c;c=0}}else if(!(_l(a)|0)){c=k[a+16>>2]|0;q=k[a+12>>2]&-2;d=c+q|0;if((q|0)>0)do{p=i[c>>0]|0;q=c+1|0;i[c>>0]=i[q>>0]|0;c=c+2|0;i[q>>0]=p}while(c>>>0<d>>>0);i[s>>0]=b;c=0}else c=7;return c|0}function Hn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=i[a>>0]|0;d=f&255;a:do switch(d|0){case 41:{k[b>>2]=23;c=1;break}case 58:case 35:case 64:case 36:{k[b>>2]=135;d=i[a+1>>0]|0;if(d<<24>>24){c=1;f=0;while(1){if(!(i[10368+(d&255)>>0]&70)){if(d<<24>>24==40&(f|0)>0){d=f;g=78;break}if(d<<24>>24!=58){d=f;break}d=c+1|0;if((i[a+d>>0]|0)==58)c=d;else{d=f;break}}else f=f+1|0;c=c+1|0;d=i[a+c>>0]|0;if(!(d<<24>>24)){d=f;break}}do if((g|0)==78){e=c;while(1){c=e+1|0;f=i[a+c>>0]|0;if(!(f<<24>>24))break;if(f<<24>>24!=41?(i[10368+(f&255)>>0]&1)==0:0)e=c;else{g=81;break}}if((g|0)==81)if(f<<24>>24==41){c=e+2|0;break}k[b>>2]=150}while(0);if(d)break a}else c=1;k[b>>2]=150;break}case 61:{k[b>>2]=79;c=(i[a+1>>0]|0)==61?2:1;break}case 60:{c=i[a+1>>0]|0;if(c<<24>>24==61){k[b>>2]=81;c=2;break a}else if(c<<24>>24==62){k[b>>2]=78;c=2;break a}else if(c<<24>>24==60){k[b>>2]=87;c=2;break a}else{k[b>>2]=82;c=1;break a}}case 43:{k[b>>2]=89;c=1;break}case 42:{k[b>>2]=91;c=1;break}case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:{g=51;break}case 46:{if(((l[a+1>>0]|0)+-48|0)>>>0<10)g=51;else{k[b>>2]=122;c=1}break}case 124:if((i[a+1>>0]|0)==124){k[b>>2]=94;c=2;break a}else{k[b>>2]=86;c=1;break a}case 59:{k[b>>2]=1;c=1;break}case 47:{if((i[a+1>>0]|0)==42?(c=i[a+2>>0]|0,c<<24>>24!=0):0){c=c&255;d=3;while(1){f=i[a+d>>0]|0;if((c|0)==42&f<<24>>24==47){c=42;break}c=f&255;if(!(f<<24>>24))break;else d=d+1|0}k[b>>2]=151;c=((c|0)!=0&1)+d|0;break a}k[b>>2]=92;c=1;break}case 44:{k[b>>2]=26;c=1;break}case 88:case 120:{if((i[a+1>>0]|0)==39){k[b>>2]=134;c=2;while(1){d=i[a+c>>0]|0;if(!(i[10368+(d&255)>>0]&8))break;else c=c+1|0}if(d<<24>>24==39&(c&1|0)==0)d=1;else{k[b>>2]=150;while(1){d=i[a+c>>0]|0;if(d<<24>>24==39|d<<24>>24==0)break;c=c+1|0}d=d<<24>>24!=0}c=(d&1)+c|0}else g=98;break}case 33:if((i[a+1>>0]|0)==61){k[b>>2]=78;c=2;break a}else{k[b>>2]=150;c=2;break a}case 37:{k[b>>2]=93;c=1;break}case 63:{k[b>>2]=135;c=1;while(1)if(((l[a+c>>0]|0)+-48|0)>>>0<10)c=c+1|0;else break;break}case 38:{k[b>>2]=85;c=1;break}case 126:{k[b>>2]=96;c=1;break}case 34:case 39:case 96:{d=i[a+1>>0]|0;b:do if(d<<24>>24){c=1;while(1){if(d<<24>>24==f<<24>>24){c=c+1|0;if((i[a+c>>0]|0)!=f<<24>>24)break}c=c+1|0;d=i[a+c>>0]|0;if(!(d<<24>>24))break b}if(f<<24>>24==39){k[b>>2]=97;break a}else{k[b>>2]=27;break a}}else c=1;while(0);k[b>>2]=150;break}case 62:{c=i[a+1>>0]|0;if(c<<24>>24==62){k[b>>2]=88;c=2;break a}else if(c<<24>>24==61){k[b>>2]=83;c=2;break a}else{k[b>>2]=80;c=1;break a}}case 91:{c=1;while(1){d=i[a+c>>0]|0;if(!(d<<24>>24)){d=d&255;break}c=c+1|0;if(d<<24>>24==93){d=93;break}}k[b>>2]=(d|0)==93?27:150;break}case 13:case 12:case 10:case 9:case 32:{c=1;while(1)if(!(i[10368+(l[a+c>>0]|0)>>0]&1))break;else c=c+1|0;k[b>>2]=151;break}case 40:{k[b>>2]=22;c=1;break}case 45:{if((i[a+1>>0]|0)==45)c=2;else{k[b>>2]=90;c=1;break a}while(1){d=i[a+c>>0]|0;if(d<<24>>24==0|d<<24>>24==10)break;c=c+1|0}k[b>>2]=151;break}default:g=98}while(0);c:do if((g|0)==51){k[b>>2]=132;c=i[a>>0]|0;if(c<<24>>24==48){d=i[a+1>>0]|0;if(d<<24>>24==88|d<<24>>24==120)if(!(i[10368+(l[a+2>>0]|0)>>0]&8))e=0;else{c=3;while(1)if(!(i[10368+(l[a+c>>0]|0)>>0]&8))break c;else c=c+1|0}else{c=48;e=0}}else e=0;while(1){d=e+1|0;if(((c&255)+-48|0)>>>0>=10){d=e;break}c=i[a+d>>0]|0;e=d}if(c<<24>>24==46){c=d;do{c=c+1|0;d=a+c|0}while(((l[d>>0]|0)+-48|0)>>>0<10);k[b>>2]=133;e=i[d>>0]|0;f=c}else{e=c;f=d}do if(e<<24>>24==69|e<<24>>24==101){d=i[a+(f+1)>>0]|0;if(((d&255)+-48|0)>>>0>=10){if(!(d<<24>>24==45|d<<24>>24==43)){d=e;c=f;break}c=f+2|0;if(((l[a+c>>0]|0)+-48|0)>>>0>=10){d=e;c=f;break}}else c=f+2|0;while(1){d=a+c|0;if(((l[d>>0]|0)+-48|0)>>>0<10)c=c+1|0;else break}k[b>>2]=133;d=i[d>>0]|0}else{d=e;c=f}while(0);if(i[10368+(d&255)>>0]&70)do{k[b>>2]=150;c=c+1|0}while((i[10368+(l[a+c>>0]|0)>>0]&70)!=0)}else if((g|0)==98){if(!(i[10368+d>>0]&70)){k[b>>2]=150;c=1;break}else c=1;while(1)if(!(i[10368+(l[a+c>>0]|0)>>0]&70))break;else c=c+1|0;d=ki(a,c)|0;k[b>>2]=d}while(0);return c|0}function In(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;d=i[a>>0]|0;if(d<<24>>24==43){a=a+1|0;g=0;h=13}else if(d<<24>>24==45){a=a+1|0;g=1;h=13}else if((d<<24>>24==48?(d=i[a+1>>0]|0,d<<24>>24==88|d<<24>>24==120):0)?(e=a+2|0,c=i[e>>0]|0,(i[10368+(c&255)>>0]&8)!=0):0){while(1){d=e+1|0;if(c<<24>>24!=48)break;e=d;c=i[d>>0]|0}if(!(i[10368+(c&255)>>0]&8)){c=0;d=0}else{f=c;a=0;d=0;do{c=f<<24>>24;d=(0-(c>>>6&1)&9)+c&15|d<<4;a=a+1|0;f=i[e+a>>0]|0;c=(i[10368+(f&255)>>0]&8)==0}while((a|0)<8&(c^1));c=c^1}if((d|0)<0|c)c=0;else{k[b>>2]=d;c=1}}else{g=0;h=13}a:do if((h|0)==13){c=0;d=0;f=0;while(1){e=(i[a+f>>0]|0)+-48|0;if(e>>>0>=10)break;d=xw(c|0,d|0,10,0)|0;c=ow(e|0,((e|0)<0)<<31>>31|0,d|0,L|0)|0;f=f+1|0;if((f|0)>=11){c=0;break a}else d=L}e=iw(c|0,d|0,g|0,0)|0;a=L;if((a|0)>0|(a|0)==0&e>>>0>2147483647)c=0;else{if(g)c=iw(0,0,c|0,d|0)|0;k[b>>2]=c;c=1}}while(0);return c|0}function Jn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=r;r=r+16|0;if((r|0)>=(s|0))ka();f=e;k[f>>2]=d;xg(a,b,c,f);r=e;return}function Kn(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,m=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=r;r=r+16|0;if((r|0)>=(s|0))ka();C=E;A=E+4|0;k[A>>2]=0;D=rh(a,536,0)|0;a:do if(D){kw(D|0,0,536)|0;k[D+476>>2]=e;p=a+20|0;e=k[p>>2]|0;b:do if((e|0)>0){q=a+16|0;n=0;while(1){o=k[(k[q>>2]|0)+(n<<4)+4>>2]|0;if(o){k[(k[o+4>>2]|0)+4>>2]=k[o>>2];h=gl(o,1,1)|0;if(h)break;e=k[p>>2]|0}n=n+1|0;if((n|0)>=(e|0))break b}k[C>>2]=k[(k[q>>2]|0)+(n<<4)>>2];zg(a,h,40984,C);n=D;break a}while(0);wl(a);k[D>>2]=a;k[D+424>>2]=0;do if((c|0)>-1){if((c|0)!=0?(i[b+(c+-1)>>0]|0)==0:0){B=21;break}if((k[a+92>>2]|0)<(c|0)){zg(a,18,41016,C);if(!a){n=D;h=18;break a}if(!(i[a+65>>0]|0)){n=D;h=k[a+56>>2]&18;break a}else{Vl(a);n=D;h=7;break a}}else{if((b|0)!=0?(m=ow(c|0,((c|0)<0)<<31>>31|0,1,0)|0,m=rh(a,m,L)|0,(m|0)!=0):0){pw(m|0,b|0,c|0)|0;i[m+c>>0]=0;Qh(D,m,A)|0;rg(a,m);h=D+480|0;k[h>>2]=b+((k[h>>2]|0)-m);break}k[D+480>>2]=b+c;break}}else B=21;while(0);if((B|0)==21)Qh(D,b,A)|0;q=a+65|0;e=D+12|0;if(!(i[q>>0]|0)){n=D+12|0;if((k[e>>2]|0)==101)k[n>>2]=0}else{k[e>>2]=7;n=D+12|0}c:do if((i[D+17>>0]|0)!=0?(t=k[D>>2]|0,u=t+20|0,(k[u>>2]|0)>0):0){m=t+16|0;p=0;while(1){e=k[m>>2]|0;h=k[e+(p<<4)+4>>2]|0;if(h){if(!(i[h+8>>0]|0)){e=Dg(h,0)|0;if((e|0)==7|(e|0)==3082)break;else if(e)break c;e=k[m>>2]|0;o=1}else o=0;c=k[h+4>>2]|0;k[c+4>>2]=k[h>>2];c=k[(k[c+12>>2]|0)+56>>2]|0;if((l[c+41>>0]<<16|l[c+40>>0]<<24|l[c+42>>0]<<8|l[c+43>>0]|0)!=(k[k[e+(p<<4)+12>>2]>>2]|0)){Am(t,p);k[n>>2]=17}if(o)zn(h)|0}p=p+1|0;if((p|0)>=(k[u>>2]|0))break c}i[t+65>>0]=1}while(0);if(i[q>>0]|0)k[n>>2]=7;if(g)k[g>>2]=k[D+480>>2];h=k[n>>2]|0;o=(h|0)==0;do if(o?(w=D+8|0,v=k[w>>2]|0,(v|0)!=0):0){n=i[D+450>>0]|0;if(n<<24>>24==2){nq(v,4);m=8;e=12}else if(!(n<<24>>24))break;else{nq(v,8);m=0;e=8}n=m;do{oq(k[w>>2]|0,n-m|0,0,k[41040+(n<<2)>>2]|0,0);n=n+1|0}while((n|0)<(e|0))}while(0);m=D+8|0;if((i[a+145>>0]|0)==0?(z=k[m>>2]|0,x=(k[D+480>>2]|0)-b|0,(z|0)!=0):0){if((b|0)!=0?(w=k[z>>2]|0,y=ow(x|0,((x|0)<0)<<31>>31|0,1,0)|0,y=rh(w,y,L)|0,(y|0)!=0):0){pw(y|0,b|0,x|0)|0;i[y+x>>0]=0;n=y}else n=0;k[z+168>>2]=n;z=z+88|0;j[z>>1]=j[z>>1]&-257|(d&65535)<<8&256}n=k[m>>2]|0;do if(!n)B=60;else{if(o?(i[q>>0]|0)==0:0){B=60;break}Sg(n)|0}while(0);if((B|0)==60)k[f>>2]=n;m=k[A>>2]|0;do if(!m){k[a+52>>2]=h;m=k[a+236>>2]|0;if(m){n=m+8|0;if(!(j[n>>1]&9312)){j[n>>1]=1;break}else{Ag(m);break}}}else{k[C>>2]=m;zg(a,h,10344,C);rg(a,m)}while(0);m=D+528|0;n=k[m>>2]|0;if(!n)n=D;else{do{k[m>>2]=k[n+4>>2];rg(a,n);n=k[m>>2]|0}while((n|0)!=0);n=D}}else{n=0;h=7}while(0);Hh(n);rg(a,D);C=Tg(a,h)|0;r=E;return C|0}function Ln(a){a=a|0;var b=0,c=0;c=k[a>>2]|0;if((i[c+145>>0]|0)==0?(b=ci(c,a+4|0)|0,(b|0)!=0):0){k[a+12>>2]=b;c=a+64|0;k[c>>2]=(k[c>>2]|0)+1}else b=0;return b|0}function Mn(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;d=k[a+24>>2]|0;f=d+84|0;b=k[f>>2]|0;if(!b){b=1020;c=0}else{b=b*40|0;c=0}e=a+4|0;a=wo(k[d>>2]|0,k[e>>2]|0,b,c)|0;c=(a|0)!=0;if(c){b=k[d>>2]|0;do if(!b)b=qc[k[8744+48>>2]&127](a)|0;else{if((k[b+276>>2]|0)>>>0<=a>>>0?(k[b+280>>2]|0)>>>0>a>>>0:0){b=m[b+248>>1]|0;break}b=qc[k[8744+48>>2]&127](a)|0}while(0);k[f>>2]=(b>>>0)/20|0;k[e>>2]=a}return (c?0:7)|0}function Nn(a,b,c){a=a|0;b=b|0;c=c|0;a:do if(c)switch(b|0){case -11:{if(k[a+520>>2]|0)break a;$c(c);break a}case -5:{if(!(j[c+2>>1]&16))break a;rg(a,c);break a}case -10:{if(k[a+520>>2]|0)break a;Fn(c);break a}case -15:case -1:case -13:case -12:{rg(a,c);break a}case -8:{if(!(k[a+520>>2]|0)){Rh(c);break a}if(k[c+24>>2]|0)rg(a,k[c+20>>2]|0);rg(a,c);break a}case -6:{if(k[a+520>>2]|0)break a;a=(k[c>>2]|0)+-1|0;k[c>>2]=a;if(a)break a;$c(c);break a}default:break a}while(0);return}function On(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,r=0;c=k[b>>2]|0;p=k[a+24>>2]|0;q=p+112|0;g=k[q>>2]|0;n=a+88|0;j[n>>1]=j[n>>1]&-193|64;d=k[a+32>>2]|0;a:do if((d|0)>0){f=k[a+4>>2]|0;while(1){d=d+-1|0;e=l[f>>0]|0;switch(e|0){case 4:{if(!(k[f+8>>2]|0))o=7;else{j[n>>1]=j[n>>1]&-65;o=7}break}case 14:{r=k[f+-16>>2]|0;c=(r|0)>(c|0)?r:c;break}case 2:case 3:{o=7;break}case 5:case 7:case 9:{k[f+16>>2]=76;i[f+1>>0]=-19;break}case 12:case 13:case 11:{j[n>>1]=j[n>>1]&-193|128;break}case 6:case 8:{k[f+16>>2]=77;i[f+1>>0]=-19;break}case 15:{r=k[f+8>>2]|0;c=(r|0)>(c|0)?r:c;break}case 10:case 1:{r=l[f+3>>0]|0;c=(r|0)>(c|0)?r:c;break}default:{}}if((o|0)==7){o=0;j[n>>1]=j[n>>1]|128}e=i[34168+e>>0]|0;i[f+2>>0]=e;if((e&1)!=0?(h=f+8|0,m=k[h>>2]|0,(m|0)<0):0)k[h>>2]=k[g+(~m<<2)>>2];if((d|0)<=0)break a;else f=f+20|0}}while(0);rg(k[a>>2]|0,k[q>>2]|0);k[q>>2]=0;k[p+108>>2]=0;k[b>>2]=c;return}function Pn(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;if((r|0)>=(s|0))ka();e=f;c=a+73|0;if((i[c>>0]|0)!=4){i[c>>0]=0;d=a+56|0;b=a+48|0;b=Lp(a,k[d>>2]|0,k[b>>2]|0,k[b+4>>2]|0,0,e)|0;if(!b){$c(k[d>>2]|0);k[d>>2]=0;d=a+68|0;b=k[d>>2]|k[e>>2];k[d>>2]=b;if((b|0)!=0?(i[c>>0]|0)==1:0){i[c>>0]=2;b=0}else b=0}}else b=k[a+68>>2]|0;r=f;return b|0}function Qn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;a=k[a+8>>2]|0;a:do if(!a)a=0;else{d=(b|0)==0;while(1){if((a|0)!=(c|0)){if(d)break;if((k[a+60>>2]|0)==(b|0))break}a=k[a+8>>2]|0;if(!a){a=0;break a}}a=Kl(a,b,c)|0}while(0);return a|0}function Rn(a){a=a|0;var b=0,c=0,d=0,e=0;c=k[a>>2]|0;d=c+1|0;k[a>>2]=d;e=i[c>>0]|0;b=e&255;if((e&255)<=191)return b|0;b=l[15360+(b+-192)>>0]|0;if((i[d>>0]&-64)<<24>>24==-128)while(1){c=c+2|0;k[a>>2]=c;b=(l[d>>0]|0)&63|b<<6;if((i[c>>0]&-64)<<24>>24==-128){e=d;d=c;c=e}else break}return (b>>>0<128|(b&-2048|0)==55296|(b&-2|0)==65534?65533:b)|0}function Sn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;if((b|0)>-1)f=a+b|0;else f=-1;b=i[a>>0]|0;if(b<<24>>24!=0&f>>>0>a>>>0){c=b;b=0;do{e=a+1|0;if((c&255)>191){d=a;a=e;while(1){c=i[a>>0]|0;if((c&-64)<<24>>24==-128){c=a;a=d+2|0;d=c}else break}}else{c=i[e>>0]|0;a=e}b=b+1|0}while(c<<24>>24!=0&a>>>0<f>>>0)}else b=0;return b|0}function Tn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0,w=0,x=0;x=r;r=r+48|0;if((r|0)>=(s|0))ka();t=x+32|0;u=x+16|0;v=x;e=k[a>>2]|0;if((e|0)<0){k[a>>2]=0;k[a+4>>2]=-1;j[a+12>>1]=0;i[a+14>>0]=0;e=0}n=c;l=k[n+4>>2]|0;o=v;k[o>>2]=k[n>>2];k[o+4>>2]=l;o=a+8|0;k[o>>2]=d;l=b&255;n=(b|0)==254;do{h=j[a+(e<<4)+12>>1]|0;d=h&65535;c=37184+(d<<1)|0;a:do if((h&65535)>429)w=6;else{h=l;while(1){g=j[c>>1]|0;f=g<<16>>16;if(g<<16>>16==-86){w=6;break a}g=h&255;e=f+g|0;if(e>>>0<=1496?(i[39336+e>>0]|0)==h<<24>>24:0){w=16;break}if(!(h<<24>>24))break;if((h&255)>=70){p=f;w=12;break}h=i[40840+g>>0]|0;if(!(h<<24>>24)){p=f;w=12;break}}if((w|0)==16){w=0;e=m[22184+(e<<1)>>1]|0;break}if(((w|0)==12?(w=0,q=p+70|0,(q|0)>-1):0)?(i[39336+q>>0]|0)==70:0){e=m[22184+(q<<1)>>1]|0;break}e=m[38048+(d<<1)>>1]|0}while(0);if((w|0)==6){w=0;e=m[38048+(d<<1)>>1]|0}if(e>>>0<642){w=18;break}if(e>>>0>=969){w=20;break}rq(a,e+-642|0);if(n)break;e=k[a>>2]|0}while((e|0)>-1);if((w|0)==18){pq(a,e,b,v);p=a+4|0;k[p>>2]=(k[p>>2]|0)+-1}else if((w|0)==20){k[u+0>>2]=k[v+0>>2];k[u+4>>2]=k[v+4>>2];k[u+8>>2]=k[v+8>>2];p=k[o>>2]|0;k[t>>2]=u;yh(p,20432,t);k[o>>2]=p;qq(a,l,v)}r=x;return}function Un(a){a=a|0;var b=0;b=k[a>>2]|0;if((b|0)>=0){qq(a,i[a+(b<<4)+14>>0]|0,a+(b<<4)+16|0);k[a>>2]=(k[a>>2]|0)+-1}return}function Vn(a,b){a=a|0;b=b|0;var c=0;if(b){if((k[b>>2]|0)>0){c=0;do{Sk(a,k[b+(c<<4)+12>>2]|0);Rk(a,k[b+(c<<4)+16>>2]|0,1);rg(a,k[b+(c<<4)+8>>2]|0);c=c+1|0}while((c|0)<(k[b>>2]|0))}rg(a,b)}return}function Wn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=a+328|0;c=k[g>>2]|0;if(c){h=a+304|0;if((k[h>>2]|0)>0){e=0;do{d=k[c+(e<<2)>>2]|0;c=k[d+8>>2]|0;if((c|0)!=0?(f=k[(k[c>>2]|0)+b>>2]|0,(f|0)!=0):0)qc[f&127](c)|0;k[d+20>>2]=0;Fn(d);e=e+1|0;c=k[g>>2]|0}while((e|0)<(k[h>>2]|0))}rg(a,c);k[h>>2]=0;k[g>>2]=0}return}function Xn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;do if((b|0)==-2)if(!(k[a+12>>2]|0))b=(k[a+16>>2]|0)==0?0:6;else b=6;else{e=j[a>>1]|0;d=e<<16>>16;if(!((d|0)!=(b|0)&e<<16>>16>-1)){e=(d|0)==(b|0)?4:1;d=c&255;b=m[a+2>>1]|0;if((d|0)==(b&3|0)){b=e|2;break}else return ((b&d)>>>1&1)+e|0}else b=0}while(0);return b|0}
function zc(a){a=a|0;var b=0;b=r;r=r+a|0;r=r+15&-16;if((r|0)>=(s|0))ka();return b|0}function Ac(){return r|0}function Bc(a){a=a|0;r=a}function Cc(a,b){a=a|0;b=b|0;if(!w){w=a;x=b}}function Dc(a){a=a|0;i[t>>0]=i[a>>0];i[t+1>>0]=i[a+1>>0];i[t+2>>0]=i[a+2>>0];i[t+3>>0]=i[a+3>>0]}function Ec(a){a=a|0;i[t>>0]=i[a>>0];i[t+1>>0]=i[a+1>>0];i[t+2>>0]=i[a+2>>0];i[t+3>>0]=i[a+3>>0];i[t+4>>0]=i[a+4>>0];i[t+5>>0]=i[a+5>>0];i[t+6>>0]=i[a+6>>0];i[t+7>>0]=i[a+7>>0]}function Fc(a){a=a|0;L=a}function Gc(){return L|0}function Hc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;if((r|0)>=(s|0))ka();c=f+4|0;d=f;e=0;a:while(1){k[c>>2]=0;k[d>>2]=0;i[280]=0;if(Wf(14640,c)|0){b=4;break}b=k[c>>2]|0;a=0;do{if(Ve(b,k[8+(a<<2)>>2]|0,17,0,d)|0){b=7;break a}a=a+1|0;b=k[c>>2]|0}while((a|0)!=5);yf(b)|0;if(dw(280,8504)|0){b=9;break}e=e+1|0;if((e|0)>=3){b=11;break}}if((b|0)==4)nb(8472,8488,47,8496);else if((b|0)==7)nb(8472,8488,50,8496);else if((b|0)==9)nb(8600,8488,53,8496);else if((b|0)==11){r=f;return 0}return 0}function Ic(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((b|0)>0)while(1){b=b+-1|0;mw(280,k[d>>2]|0)|0;a=280+(lw(280)|0)|0;i[a>>0]=61;i[a+1>>0]=0;a=k[c>>2]|0;mw(280,((a|0)==0?20304:a)|0)|0;if((b|0)<=0)break;else{c=c+4|0;d=d+4|0}}return 0}function Jc(a){a=a|0;var b=0,c=0,d=0;d=(Kc(a,8640,7)|0)==0;d=d?a+7|0:a;if(!d)a=0;else{a=d;while(1)if(!(i[a>>0]|0))break;else a=a+1|0;a=a-d&1073741823}c=0;while(1){b=k[8648+(c<<2)>>2]|0;if((Kc(d,b,a)|0)==0?(i[10368+(l[b+a>>0]|0)>>0]&70)==0:0){a=1;break}c=c+1|0;if((c|0)>=4){a=0;break}}return a|0}function Kc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;a:do if(a)if(b)if((c|0)>0){d=a;while(1){a=i[d>>0]|0;if(!(a<<24>>24))break;if((i[9328+(a&255)>>0]|0)!=(i[9328+(l[b>>0]|0)>>0]|0))break;c=c+-1|0;if((c|0)<=0){c=0;break a}else{d=d+1|0;b=b+1|0}}if((c|0)>=1)c=(l[9328+(a&255)>>0]|0)-(l[9328+(l[b>>0]|0)>>0]|0)|0;else c=0}else c=0;else c=1;else c=((b|0)!=0)<<31>>31;while(0);return c|0}function Lc(a){a=a|0;if(a>>>0<4)a=k[8648+(a<<2)>>2]|0;else a=0;return a|0}function Mc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;g=r;r=r+16|0;if((r|0)>=(s|0))ka();e=g;if(a>>>0<=9){f=k[8664+(a<<2)>>2]|0;e=b;k[e>>2]=f;k[e+4>>2]=0;e=8704+(a<<2)|0;a=c;k[a>>2]=k[e>>2];k[a+4>>2]=0;if(!d)e=0;else{k[e>>2]=f;e=0}}else{k[e>>2]=15033;k[e+4>>2]=10788;gd(21,13648,e);e=21}r=g;return e|0}function Nc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;g=r;r=r+16|0;if((r|0)>=(s|0))ka();e=g+8|0;f=g;a=Mc(a,e,f,d)|0;if(!a){k[b>>2]=k[e>>2];k[c>>2]=k[f>>2]}r=g;return a|0}function Oc(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,n=0;n=r;r=r+16|0;if((r|0)>=(s|0))ka();j=n+4|0;h=n;switch(b|0){case 2:{k[j>>2]=0;l=a+20|0;e=k[l>>2]|0;f=(e|0)>0;if(f){h=k[a+16>>2]|0;g=0;do{b=k[h+(g<<4)+4>>2]|0;if(b)k[(k[b+4>>2]|0)+4>>2]=k[b>>2];g=g+1|0}while((g|0)!=(e|0));g=a+520|0;k[g>>2]=j;if(f){i=a+16|0;f=0;do{b=k[(k[i>>2]|0)+(f<<4)+12>>2]|0;if(b){h=qc[k[8744+52>>2]&127](16)|0;h=ha((k[b+44>>2]|0)+(k[b+12>>2]|0)+(k[b+28>>2]|0)+(k[b+60>>2]|0)|0,h)|0;k[j>>2]=h+(k[j>>2]|0);h=qc[k[8744+48>>2]&127](k[b+20>>2]|0)|0;k[j>>2]=(k[j>>2]|0)+h;h=qc[k[8744+48>>2]&127](k[b+52>>2]|0)|0;k[j>>2]=(k[j>>2]|0)+h;h=qc[k[8744+48>>2]&127](k[b+36>>2]|0)|0;k[j>>2]=(k[j>>2]|0)+h;h=qc[k[8744+48>>2]&127](k[b+68>>2]|0)|0;k[j>>2]=(k[j>>2]|0)+h;h=k[b+48>>2]|0;if(h)do{og(a,k[h+8>>2]|0);h=k[h>>2]|0}while((h|0)!=0);h=k[b+16>>2]|0;if(h)do{pg(a,k[h+8>>2]|0);h=k[h>>2]|0}while((h|0)!=0);e=k[l>>2]|0}f=f+1|0}while((f|0)<(e|0));f=k[j>>2]|0}else f=0}else{g=a+520|0;k[g>>2]=j;f=0}k[g>>2]=0;k[d>>2]=0;k[c>>2]=f;f=0;break}case 9:case 8:case 7:{l=a+20|0;h=k[l>>2]|0;if((h|0)>0){j=k[a+16>>2]|0;i=b+-7|0;g=(e|0)==0;f=0;b=h;e=0;while(1){h=k[j+(e<<4)+4>>2]|0;if(h){h=(k[k[h+4>>2]>>2]|0)+(i<<2)+184|0;f=(k[h>>2]|0)+f|0;if(g)h=b;else{k[h>>2]=0;h=k[l>>2]|0}}else h=b;e=e+1|0;if((e|0)>=(h|0))break;else b=h}}else f=0;k[d>>2]=0;k[c>>2]=f;f=0;break}case 0:{g=a+252|0;k[c>>2]=k[g>>2];f=a+256|0;k[d>>2]=k[f>>2];if(!e)f=0;else{k[f>>2]=k[g>>2];f=0}break}case 6:case 5:case 4:{k[c>>2]=0;f=a+(b+-4<<2)+260|0;k[d>>2]=k[f>>2];if(!e)f=0;else{k[f>>2]=0;f=0}break}case 1:{i=a+20|0;g=k[i>>2]|0;e=(g|0)>0;if(e){f=k[a+16>>2]|0;h=0;do{b=k[f+(h<<4)+4>>2]|0;if(b)k[(k[b+4>>2]|0)+4>>2]=k[b>>2];h=h+1|0}while((h|0)!=(g|0));if(e){b=a+16|0;h=0;f=0;while(1){e=k[(k[b>>2]|0)+(h<<4)+4>>2]|0;if(!e)e=g;else{l=k[k[e+4>>2]>>2]|0;a=l+152|0;j=(k[a>>2]|0)+60+(m[l+140>>1]|0)|0;j=ha(qc[k[8744+128>>2]&127](k[(k[l+204>>2]|0)+40>>2]|0)|0,j)|0;l=qc[k[8744+48>>2]&127](l)|0;e=k[i>>2]|0;f=j+f+l+(k[a>>2]|0)|0}h=h+1|0;if((h|0)>=(e|0))break;else g=e}}else f=0}else f=0;k[c>>2]=f;k[d>>2]=0;f=0;break}case 3:{k[h>>2]=0;e=a+520|0;k[e>>2]=h;g=k[a+4>>2]|0;if(!g)f=0;else{do{qg(a,g);rg(a,g);g=k[g+52>>2]|0}while((g|0)!=0);f=k[h>>2]|0}k[e>>2]=0;k[d>>2]=0;k[c>>2]=f;f=0;break}case 10:{k[d>>2]=0;l=a+512|0;j=k[l+4>>2]|0;if((j|0)>0|(j|0)==0&(k[l>>2]|0)>>>0>0)f=1;else{f=a+504|0;a=k[f+4>>2]|0;f=(a|0)>0|(a|0)==0&(k[f>>2]|0)>>>0>0}k[c>>2]=f&1;f=0;break}default:f=1}r=n;return f|0}function Pc(a){a=a|0;var b=0;a:do if(!(Qc()|0)){b=k[2254]|0;if(!((b|0)==0|(a|0)==0))while(1){if(!(dw(a,k[b+16>>2]|0)|0))break a;b=k[b+12>>2]|0;if(!b){b=0;break}}}else b=0;while(0);return b|0}function Qc(){var a=0,b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+16|0;if((r|0)>=(s|0))ka();h=j;do if(!(k[2243]|0)){k[2245]=1;if(!(k[2246]|0)){if(!(k[2195]|0)){k[h>>2]=16496;rf(4,h)|0}b=9024|0;c=b+40|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(c|0));if(k[2187]|0)k[2256]=8;g=k[2234]|0;c=k[2235]|0;b=k[2236]|0;if((g|0)!=0&(c|0)>99&(b|0)>0){f=c&-8;k[2235]=f;k[2263]=g;k[2264]=b;e=b+-1|0;if((e|0)>0){b=g+(ha(c>>>3,(b<<3)+-8|0)|0)|0;d=0;c=g;do{a=c;c=c+f|0;k[a>>2]=c;d=d+1|0}while((d|0)!=(e|0))}else b=g;k[b>>2]=0;k[2262]=b+4}else{k[2262]=0;k[2234]=0;k[2235]=0;k[2236]=0}if((k[2237]|0)==0|(k[2238]|0)<512|(k[2239]|0)<1){k[2237]=0;k[2238]=0;k[2239]=0}a=qc[k[8744+56>>2]&127](k[2202]|0)|0;if(a){b=9024|0;c=b+40|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(c|0));break}}k[2246]=1;if(!(k[2249]|0))k[2249]=8;a=(k[2248]|0)+1|0;k[2248]=a;if(!(k[2244]|k[2243])){k[2244]=1;b=10840|0;c=b+92|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(c|0));b=0;do{sg(10840,16608+(b*36|0)|0);b=b+1|0}while((b|0)!=59);b=0;do{sg(10840,19480+(b*36|0)|0);b=b+1|0}while((b|0)!=8);sg(10840,19256);sg(10840,19292|0);sg(10840,19328|0);if(!(k[2247]|0)){a=k[2214]|0;if(!a){k[h>>2]=16440;rf(18,h)|0;a=k[2214]|0}a=qc[a&127](k[2213]|0)|0;if(!a)i=28}else i=28;if((i|0)==28){k[2247]=1;a=Yc(10)|0;if(!a)a=7;else{$c(a);Rc(9584,1)|0;Rc(9672|0,0)|0;Rc(9760|0,0)|0;Rc(9848|0,0)|0;a=k[2237]|0;b=k[2238]|0;c=k[2239]|0;if(k[3153]|0){h=b&-8;k[3154]=h;k[3161]=c;k[3155]=c;if((c|0)<=90){k[3156]=((c|0)/10|0)+1;k[3157]=a;k[3160]=0;k[3162]=0;if(c)i=33}else{k[3156]=10;k[3157]=a;k[3160]=0;k[3162]=0;i=33}if((i|0)==33){e=b>>>3;f=c<<3;g=ha(e<<3,c+-1|0)|0;b=a;d=0;while(1){c=c+-1|0;k[b>>2]=d;if(!c)break;else{d=b;b=b+h|0}}b=a+(ha(f,e)|0)|0;k[3160]=a+g;a=b}k[3158]=a}k[2243]=1;a=0}}k[2244]=0;b=k[2248]|0}else{b=a;a=0}k[2248]=b+-1;if((b|0)<2)k[2249]=0}else a=0;while(0);r=j;return a|0}function Rc(a,b){a=a|0;b=b|0;var c=0;c=Qc()|0;do if(!c){tg(a);c=k[2254]|0;if((b|0)!=0|(c|0)==0){k[a+12>>2]=c;k[2254]=a;c=0;break}else{k[a+12>>2]=k[c+12>>2];k[(k[2254]|0)+12>>2]=a;c=0;break}}while(0);return c|0}function Sc(a){a=a|0;tg(a);return 0}function Tc(a){a=a|0;return 0}function Uc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;do if(!(Qc()|0)){d=9032|0;c=k[d>>2]|0;d=k[d+4>>2]|0;if((b|0)>=0)if((b|0)>0|(b|0)==0&a>>>0>0){k[2260]=9;k[2261]=0;e=9032|0;k[e>>2]=a;k[e+4>>2]=b;k[2265]=(0>(b|0)|0==(b|0)&(k[2166]|0)>>>0>=a>>>0)&1;break}else{k[2265]=0;k[2258]=0;k[2259]=0;k[2260]=0;k[2261]=0;break}}else{d=-1;c=-1}while(0);L=d;return c|0}function Vc(){var a=0;a=k[2166]|0;L=((a|0)<0)<<31>>31;return a|0}function Wc(a){a=a|0;var b=0;b=(a|0)<0;Uc(b?0:a,b?0:((a|0)<0)<<31>>31)|0;return}function Xc(a){a=a|0;var b=0;b=k[2176]|0;if(a)k[2176]=k[2166];L=((b|0)<0)<<31>>31;return b|0}function Yc(a){a=a|0;if((Qc()|0)!=0|(a|0)<1)a=0;else a=vg(a,((a|0)<0)<<31>>31)|0;return a|0}function Zc(a,b){a=a|0;b=b|0;if(!(Qc()|0))a=vg(a,b)|0;else a=0;return a|0}function _c(a){a=a|0;a=qc[k[8744+48>>2]&127](a)|0;L=((a|0)<0)<<31>>31;return a|0}function $c(a){a=a|0;var b=0;do if(a)if(!(k[2186]|0)){hc[k[8744+40>>2]&31](a);break}else{b=qc[k[8744+48>>2]&127](a)|0;k[2166]=(k[2166]|0)-b;k[2175]=(k[2175]|0)+-1;hc[k[8744+40>>2]&31](a);break}while(0);return}function ad(a,b){a=a|0;b=b|0;var c=0;if(!(Qc()|0)){c=(b|0)<0;b=wg(a,c?0:b,c?0:((b|0)<0)<<31>>31)|0}else b=0;return b|0}function bd(a,b,c){a=a|0;b=b|0;c=c|0;if(!(Qc()|0))b=wg(a,b,c)|0;else b=0;return b|0}function cd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+112|0;if((r|0)>=(s|0))ka();d=e+28|0;c=e;if(!(Qc()|0)){k[c+4>>2]=d;k[c+8>>2]=d;k[c>>2]=0;k[c+12>>2]=0;k[c+16>>2]=70;k[c+20>>2]=1e9;i[c+25>>0]=0;i[c+24>>0]=2;xg(c,0,a,b);c=yg(c)|0}else c=0;r=e;return c|0}function dd(a,b){a=a|0;b=b|0;var c=0,d=0;d=r;r=r+16|0;if((r|0)>=(s|0))ka();c=d;if(!(Qc()|0)){k[c>>2]=b;c=cd(a,c)|0}else c=0;r=d;return c|0}function ed(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;f=r;r=r+32|0;if((r|0)>=(s|0))ka();e=f;if((a|0)>=1){k[e+4>>2]=b;k[e+8>>2]=b;k[e>>2]=0;k[e+12>>2]=0;k[e+16>>2]=a;k[e+20>>2]=0;i[e+25>>0]=0;i[e+24>>0]=0;xg(e,0,c,d);b=yg(e)|0}r=f;return b|0}function fd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=r;r=r+16|0;if((r|0)>=(s|0))ka();f=e;k[f>>2]=d;a=ed(a,b,c,f)|0;r=e;return a|0}function gd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+256|0;if((r|0)>=(s|0))ka();d=g+16|0;f=g+44|0;e=g;if(k[2250]|0){k[e>>2]=c;k[d+4>>2]=f;k[d+8>>2]=f;k[d>>2]=0;k[d+12>>2]=0;k[d+16>>2]=210;k[d+20>>2]=0;i[d+25>>0]=0;i[d+24>>0]=0;xg(d,0,b,e);c=k[2250]|0;e=k[2251]|0;d=yg(d)|0;rc[c&63](e,a,d)}r=g;return}function hd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;e=r;r=r+256|0;if((r|0)>=(s|0))ka();d=e;do if(!(Qc()|0)){if((a|0)<1|(b|0)==0){i[9064]=0;break}if(!(i[9064]|0)){i[9066]=0;i[9065]=0;c=(Qc()|0)==0;c=c?k[2254]|0:0;fc[k[c+56>>2]&63](c,256,d)|0;c=0;do{i[9067+c>>0]=c;c=c+1|0}while((c|0)!=256);c=0;do{f=9067+c|0;h=(l[d+c>>0]|0)+(l[f>>0]|0)+(l[9066]|0)|0;i[9066]=h;h=9067+(h&255)|0;g=i[h>>0]|0;i[h>>0]=i[f>>0]|0;i[f>>0]=g;c=c+1|0}while((c|0)!=256);i[9064]=1}while(1){f=(i[9065]|0)+1<<24>>24;i[9065]=f;f=9067+(f&255)|0;d=i[f>>0]|0;c=d&255;g=(l[9066]|0)+c|0;i[9066]=g;i[f>>0]=i[9067+(g&255)>>0]|0;i[9067+(l[9066]|0)>>0]=d;i[b>>0]=i[9067+((l[9067+(l[9065]|0)>>0]|0)+c&255)>>0]|0;a=a+-1|0;if(!a)break;else b=b+1|0}}while(0);r=e;return}function id(a,b){a=a|0;b=b|0;var c=0;if(a)if(!b)b=1;else{c=i[a>>0]|0;a:do if(!(c<<24>>24))c=0;else while(1){if((i[9328+(c&255)>>0]|0)!=(i[9328+(l[b>>0]|0)>>0]|0))break a;a=a+1|0;b=b+1|0;c=i[a>>0]|0;if(!(c<<24>>24)){c=0;break}}while(0);b=(l[9328+(c&255)>>0]|0)-(l[9328+(l[b>>0]|0)>>0]|0)|0}else b=((b|0)!=0)<<31>>31;return b|0}function jd(a){a=a|0;k[2241]=a;return 0}function kd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0,m=0;m=r;r=r+16|0;if((r|0)>=(s|0))ka();l=m;a:do if((c|0)==(a|0)){zg(c,1,10016,l);e=0}else{e=vg(48,0)|0;if(!e){k[a+52>>2]=7;e=k[a+236>>2]|0;if(!e){e=0;break}f=e+8|0;if(!(j[f>>1]&9312)){j[f>>1]=1;e=0;break}else{Ag(e);e=0;break}}g=e+0|0;f=g+48|0;do{i[g>>0]=0;g=g+1|0}while((g|0)<(f|0));g=Bg(a,c,d)|0;h=e+24|0;k[h>>2]=g;g=Bg(a,a,b)|0;d=e+4|0;k[d>>2]=g;k[e>>2]=a;k[e+20>>2]=c;k[e+16>>2]=1;k[e+40>>2]=0;f=k[h>>2]|0;do if(!((f|0)==0|(g|0)==0)?(Cg(g,k[(k[f+4>>2]|0)+32>>2]|0,-1,0)|0)!=7:0)if(!(i[(k[d>>2]|0)+8>>0]|0)){f=(k[h>>2]|0)+16|0;k[f>>2]=(k[f>>2]|0)+1;break a}else{zg(a,1,47416,l);break}while(0);$c(e);e=0}while(0);r=m;return e|0}function ld(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=r;r=r+32|0;if((r|0)>=(s|0))ka();z=D;n=D+16|0;q=D+12|0;w=D+8|0;B=a+24|0;d=k[B>>2]|0;e=k[d+4>>2]|0;k[e+4>>2]=k[d>>2];C=a+28|0;c=k[C>>2]|0;if(c>>>0<7?(30>>>(c&127)&1)==0:0){v=k[e>>2]|0;A=a+4|0;c=k[A>>2]|0;y=k[k[c+4>>2]>>2]|0;if((k[a>>2]|0)!=0?(i[e+20>>0]|0)==2:0){x=0;d=5}else t=5;do if((t|0)==5){e=a+12|0;if(!(k[e>>2]|0)){d=Dg(c,2)|0;if(d){x=0;break}k[e>>2]=1;x=k[A>>2]|0;d=k[x+4>>2]|0;k[d+4>>2]=k[x>>2];d=k[(k[d+12>>2]|0)+56>>2]|0;k[a+8>>2]=l[d+41>>0]<<16|l[d+40>>0]<<24|l[d+42>>0]<<8|l[d+43>>0];d=k[B>>2]|0}if(!(i[d+8>>0]|0)){x=1;d=Dg(d,0)|0}else{x=0;d=0}}while(0);g=k[(k[B>>2]|0)+4>>2]|0;u=k[g+32>>2]|0;m=k[(k[A>>2]|0)+4>>2]|0;p=k[m+32>>2]|0;m=(i[(k[m>>2]|0)+5>>0]|0)==5;c=(u|0)==(p|0)|(d|0)==0&m^1?d:8;g=k[g+44>>2]|0;e=(b|0)<0;a:do if(b){d=a+16|0;h=k[d>>2]|0;j=0;do{if(!(h>>>0<=g>>>0&(c|0)==0))break a;if((h|0)!=((((k[2514]|0)>>>0)/((k[(k[(k[B>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0)){c=Eg(v,h,n,2)|0;if(!c){f=k[n>>2]|0;c=Fg(a,h,k[f+4>>2]|0,0)|0;if(f)Gg(f)}}else c=0;h=(k[d>>2]|0)+1|0;k[d>>2]=h;j=j+1|0}while(e|(j|0)<(b|0))}while(0);if(!c){k[a+36>>2]=g;c=k[a+16>>2]|0;k[a+32>>2]=g+1-c;if(c>>>0<=g>>>0){c=a+40|0;if(!(k[c>>2]|0)){A=(k[k[(k[B>>2]|0)+4>>2]>>2]|0)+88|0;k[a+44>>2]=k[A>>2];k[A>>2]=a;k[c>>2]=1;c=0}else c=0}else t=22}else if((c|0)==101)t=22;do if((t|0)==22){if(!g){d=k[A>>2]|0;c=k[d+4>>2]|0;k[c+4>>2]=k[d>>2];k[c+44>>2]=0;c=Hg(c)|0;if((c|0)==0|(c|0)==101)g=1;else break}c=Ig(k[A>>2]|0,1,(k[a+8>>2]|0)+1|0)|0;if(!c){d=k[a>>2]|0;if(d)Jg(d);if(m?(o=Kg(k[A>>2]|0,2)|0,(o|0)!=0):0){c=o;break}if((u|0)<(p|0)){d=(p|0)/(u|0)|0;d=(g+-1+d|0)/(d|0)|0;e=k[2514]|0;f=k[(k[(k[A>>2]|0)+4>>2]|0)+32>>2]|0;d=(((d|0)==(((e>>>0)/(f>>>0)|0)+1|0))<<31>>31)+d|0;a=((u|0)<0)<<31>>31;o=xw(g|0,((g|0)<0)<<31>>31|0,u|0,a|0)|0;m=L;b=k[y+60>>2]|0;j=k[y+24>>2]|0;b:do if(d>>>0<=j>>>0){c=0;while(1){if((d|0)!=(((e>>>0)/(f>>>0)|0)+1|0)){c=Eg(y,d,q,0)|0;if(c)break b;e=k[q>>2]|0;c=Lg(e)|0;if(e)Gg(e)}d=d+1|0;e=(c|0)==0;if(d>>>0>j>>>0|e^1)break;f=k[(k[(k[A>>2]|0)+4>>2]|0)+32>>2]|0;e=k[2514]|0}if(e)t=38}else t=38;while(0);if((t|0)==38)c=Mg(y,0,1)|0;e=k[2514]|0;g=e+p|0;h=((g|0)<0)<<31>>31;f=(h|0)<(m|0)|(h|0)==(m|0)&g>>>0<o>>>0;g=f?g:o;h=f?h:m;e=e+u|0;f=((e|0)<0)<<31>>31;d=(c|0)==0;if(d&((f|0)<(h|0)|(f|0)==(h|0)&e>>>0<g>>>0))do{k[w>>2]=0;c=vw(e|0,f|0,u|0,a|0)|0;c=ow(c|0,L|0,1,0)|0;c=Eg(v,c,w,0)|0;d=k[w>>2]|0;if(!c)c=yc[k[(k[b>>2]|0)+12>>2]&31](b,k[d+4>>2]|0,u,e,f)|0;if(d)Gg(d);e=ow(e|0,f|0,u|0,a|0)|0;f=L;d=(c|0)==0}while(d&((f|0)<(h|0)|(f|0)==(h|0)&e>>>0<g>>>0));if(!d)break;c=wc[k[(k[b>>2]|0)+24>>2]&127](b,z)|0;w=k[z+4>>2]|0;if((c|0)==0&((w|0)>(m|0)|((w|0)==(m|0)?(k[z>>2]|0)>>>0>o>>>0:0)))c=fc[k[(k[b>>2]|0)+16>>2]&63](b,o,m)|0;if(c)break;c=Ng(y,0)|0}else{c=ha((u|0)/(p|0)|0,g)|0;k[y+24>>2]=c;c=Mg(y,0,0)|0}if(!c){c=Og(k[A>>2]|0,0)|0;c=(c|0)==0?101:c}}}while(0);if(x){Pg(k[B>>2]|0,0)|0;Og(k[B>>2]|0,0)|0}c=(c|0)==3082?7:c;k[C>>2]=c}r=D;return c|0}function md(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;if(!a)b=0;else{f=k[a+20>>2]|0;c=k[a+24>>2]|0;b=k[c+4>>2]|0;k[b+4>>2]=k[c>>2];if(k[a>>2]|0){c=c+16|0;k[c>>2]=(k[c>>2]|0)+-1}if(k[a+40>>2]|0){b=(k[b>>2]|0)+88|0;while(1){c=k[b>>2]|0;if((c|0)==(a|0))break;else b=c+44|0}k[b>>2]=k[a+44>>2]}Qg(k[a+4>>2]|0,0,0);b=k[a+28>>2]|0;b=(b|0)==101?0:b;c=k[a>>2]|0;if(c){k[c+52>>2]=b;d=k[c+236>>2]|0;do if(d){e=d+8|0;if(!(j[e>>1]&9312)){j[e>>1]=1;break}else{Ag(d);c=k[a>>2]|0;break}}while(0);Rg(c);if(k[a>>2]|0)$c(a)}Rg(f)}return b|0}function nd(a){a=a|0;return k[a+32>>2]|0}function od(a){a=a|0;return k[a+36>>2]|0}function pd(a){a=a|0;if((a|0)!=0?(j[a+88>>1]&256)!=0:0)a=k[a+168>>2]|0;else a=0;return a|0}function qd(a){a=a|0;if(!a)a=1;else a=(j[a+88>>1]&8)!=0;return a&1|0}function rd(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;if((r|0)>=(s|0))ka();c=d;do if(a){b=k[a>>2]|0;if(!b){gd(21,47360,c);k[c>>2]=68910;k[c+4>>2]=10788;gd(21,13648,c);b=21;break}else{a=Tg(b,Sg(a)|0)|0;Rg(b);b=a;break}}else b=0;while(0);r=d;return b|0}function sd(a){a=a|0;var b=0,c=0;if(!a)a=0;else{b=Ug(a)|0;k[a+76>>2]=-1;k[a+80>>2]=0;i[a+86>>0]=2;k[a+40>>2]=-1108210269;k[a+92>>2]=0;k[a+72>>2]=1;i[a+87>>0]=-1;k[a+104>>2]=0;c=a+144|0;k[c>>2]=0;k[c+4>>2]=0;a=Tg(k[a>>2]|0,b)|0}return a|0}function td(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;f=a+68|0;c=j[f>>1]|0;if(c<<16>>16>0){g=a+60|0;b=k[g>>2]|0;e=0;do{d=b+(e*40|0)|0;if(!((j[b+(e*40|0)+8>>1]&9312)==0?(k[b+(e*40|0)+24>>2]|0)==0:0)){Vg(d);b=k[g>>2]|0;c=j[f>>1]|0}j[b+(e*40|0)+8>>1]=1;e=e+1|0}while((e|0)<(c<<16>>16|0))}b=a+88|0;c=j[b>>1]|0;if((c&256)!=0?(k[a+188>>2]|0)!=0:0)j[b>>1]=c|8;return 0}function ud(a){a=a|0;var b=0;b=a+8|0;if(j[b>>1]&18){Wg(a)|0;j[b>>1]=m[b>>1]|0|16;if(!(k[a+12>>2]|0))b=0;else b=k[a+16>>2]|0}else b=Xg(a,1)|0;return b|0}function vd(a){a=a|0;return Xg(a,1)|0}function wd(a){a=a|0;return Yg(a,1)|0}function xd(a){a=a|0;return Yg(a,2)|0}function yd(a){a=a|0;return +(+Zg(a))}function zd(a){a=a|0;a=_g(a)|0;return a|0}function Ad(a){a=a|0;a=_g(a)|0;return a|0}function Bd(a){a=a|0;return Xg(a,2)|0}function Cd(a){a=a|0;return Xg(a,3)|0}function Dd(a){a=a|0;return Xg(a,2)|0}function Ed(a){a=a|0;return l[10064+((m[a+8>>1]|0)&31)>>0]|0|0}function Fd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;$g(a,b,c,0,d);return}function Gd(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(d>>>0>0|(d|0)==0&c>>>0>2147483647){c=e;if(!((c|0)==0|(c|0)==-1))hc[e&31](b);if(a){k[a+20>>2]=18;i[a+25>>0]=1;ah(k[a>>2]|0,10096,-1,1,0)|0}}else $g(a,b,c,0,e);return}function Hd(a,b){a=a|0;b=+b;bh(k[a>>2]|0,b);return}function Id(a,b,c){a=a|0;b=b|0;c=c|0;k[a+20>>2]=1;i[a+25>>0]=1;ah(k[a>>2]|0,b,c,1,-1)|0;return}function Jd(a,b,c){a=a|0;b=b|0;c=c|0;k[a+20>>2]=1;i[a+25>>0]=1;ah(k[a>>2]|0,b,c,2,-1)|0;return}function Kd(a,b){a=a|0;b=b|0;var c=0,d=0;a=k[a>>2]|0;c=((b|0)<0)<<31>>31;d=a+8|0;if(!(j[d>>1]&9312)){k[a>>2]=b;k[a+4>>2]=c;j[d>>1]=4}else ch(a,b,c);return}function Ld(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;a=k[a>>2]|0;d=a+8|0;if(!(j[d>>1]&9312)){k[a>>2]=b;k[a+4>>2]=c;j[d>>1]=4}else ch(a,b,c);return}function Md(a){a=a|0;var b=0;a=k[a>>2]|0;b=a+8|0;if(!(j[b>>1]&9312))j[b>>1]=1;else Ag(a);return}function Nd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;$g(a,b,c,1,d);return}function Od(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if(d>>>0>0|(d|0)==0&c>>>0>2147483647){c=e;if(!((c|0)==0|(c|0)==-1))hc[e&31](b);if(a){k[a+20>>2]=18;i[a+25>>0]=1;ah(k[a>>2]|0,10096,-1,1,0)|0}}else $g(a,b,c,f<<24>>24==4?2:f,e);return}function Pd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;$g(a,b,c,2,d);return}function Qd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;$g(a,b,c,3,d);return}function Rd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;$g(a,b,c,2,d);return}function Sd(a,b){a=a|0;b=b|0;dh(k[a>>2]|0,b)|0;return}function Td(a,b){a=a|0;b=b|0;eh(k[a>>2]|0,b);return}function Ud(a,b){a=a|0;b=b|0;var c=0;k[a+20>>2]=b;i[a+25>>0]=1;c=k[a>>2]|0;if(j[c+8>>1]&1){if((b|0)!=516){a=b&255;if(a>>>0>26|(a|0)==2)a=16328;else a=k[15488+(a<<2)>>2]|0}else a=16344;ah(c,a,-1,1,0)|0}return}function Vd(a){a=a|0;k[a+20>>2]=18;i[a+25>>0]=1;ah(k[a>>2]|0,10096,-1,1,0)|0;return}function Wd(a){a=a|0;var b=0,c=0;b=k[a>>2]|0;c=b+8|0;if(!(j[c>>1]&9312))j[c>>1]=1;else{Ag(b);b=k[a>>2]|0}k[a+20>>2]=7;i[a+25>>0]=1;i[(k[b+32>>2]|0)+65>>0]=1;return}function Xd(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,q=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;W=r;r=r+224|0;if((r|0)>=(s|0))ka();R=W+8|0;Q=W;if(!(fh(a)|0)){V=k[a>>2]|0;I=a+88|0;j[I>>1]=j[I>>1]&-513;N=a+40|0;O=a+76|0;P=a+128|0;U=a+80|0;z=a+168|0;A=a+8|0;B=a+20|0;C=a+32|0;D=a+4|0;E=a+84|0;T=a+44|0;F=(a|0)==0;G=a+52|0;H=a+48|0;y=0;while(1){if((k[N>>2]|0)!=-1108210269)sd(a)|0;x=k[a>>2]|0;if(i[x+65>>0]|0){S=7;break}c=k[O>>2]|0;do if((c|0)<1){if(j[I>>1]&8){k[U>>2]=17;c=1;break}if((c|0)<0){c=x+148|0;if(!(k[c>>2]|0))k[x+240>>2]=0;if((k[x+184>>2]|0)!=0?(i[x+145>>0]|0)==0:0)gh(k[x>>2]|0,P)|0;k[c>>2]=(k[c>>2]|0)+1;c=j[I>>1]|0;if(!(c&64)){c=x+156|0;k[c>>2]=(k[c>>2]|0)+1;c=j[I>>1]|0}if(c&128){w=x+152|0;k[w>>2]=(k[w>>2]|0)+1}k[O>>2]=0;S=22}else S=22}else S=22;while(0);if((S|0)==22){S=0;do if(!(j[I>>1]&3)){w=x+160|0;k[w>>2]=(k[w>>2]|0)+1;c=lh(a)|0;k[w>>2]=(k[w>>2]|0)+-1;if((c|0)==100)c=100;else S=101}else{g=k[a>>2]|0;v=k[A>>2]|0;u=v+40|0;hh(u,8);k[B>>2]=0;if((k[U>>2]|0)==7){i[g+65>>0]=1;c=1;S=101;break}e=k[C>>2]|0;h=j[I>>1]&3;if(h<<16>>16==1){f=k[A>>2]|0;n=f+360|0;if(j[f+368>>1]&16){o=(k[f+372>>2]|0)>>>2;d=k[f+376>>2]|0;if(!o){q=d;f=e;b=0}else{c=0;f=e;do{f=(k[(k[d+(c<<2)>>2]|0)+4>>2]|0)+f|0;c=c+1|0}while((c|0)<(o|0));q=d;b=o}}else{q=0;f=e;b=0}}else{q=0;f=e;b=0;n=0}e=h<<16>>16==2;d=k[O>>2]|0;while(1){c=d+1|0;if((d|0)>=(f|0)){S=33;break}if(!e)break;if((i[(k[D>>2]|0)+(d*20|0)>>0]|0)==-99)break;else d=c}if((S|0)==33){k[O>>2]=c;k[U>>2]=0;c=101;S=101;break}k[O>>2]=c;if(k[g+240>>2]|0){k[U>>2]=9;k[R>>2]=15832;ih(T,g,10344,R);c=1;S=101;break}f=k[C>>2]|0;if((d|0)<(f|0)){c=d;w=(k[D>>2]|0)+(d*20|0)|0}else{d=d-f|0;f=k[q>>2]|0;e=k[f+4>>2]|0;if((d|0)<(e|0))e=d;else{f=d;c=0;while(1){d=f-e|0;c=c+1|0;f=k[q+(c<<2)>>2]|0;e=k[f+4>>2]|0;if((d|0)<(e|0)){e=d;break}else f=d}}c=e;w=(k[f>>2]|0)+(e*20|0)|0}if((j[I>>1]&3)==1){j[v+48>>1]=4;e=u;k[e>>2]=c;k[e+4>>2]=((c|0)<0)<<31>>31;j[v+88>>1]=2562;e=k[44856+(l[w>>0]<<2)>>2]|0;k[v+96>>2]=e;f=e;while(1)if(!(i[f>>0]|0))break;else f=f+1|0;o=v+80|0;k[v+92>>2]=f-e&1073741823;i[v+90>>0]=1;if((i[w+1>>0]|0)==-18){c=(b<<2)+4|0;a:do if(!b)f=0;else{e=k[w+16>>2]|0;d=0;while(1){f=d+1|0;if((k[q+(d<<2)>>2]|0)==(e|0)){f=d;break a}if((f|0)<(b|0))d=f;else break}}while(0);if((f|0)==(b|0)?(jh(n,c,(b|0)!=0&1)|0)==0:0){k[(k[n+16>>2]|0)+(b<<2)>>2]=k[w+16>>2];v=n+8|0;j[v>>1]=m[v>>1]|16;k[n+12>>2]=c;v=o}else v=o}else v=o}j[v+48>>1]=4;u=k[w+4>>2]|0;q=v+40|0;k[q>>2]=u;k[q+4>>2]=((u|0)<0)<<31>>31;j[v+88>>1]=4;q=k[w+8>>2]|0;u=v+80|0;k[u>>2]=q;k[u+4>>2]=((q|0)<0)<<31>>31;j[v+128>>1]=4;u=k[w+12>>2]|0;q=v+120|0;k[q>>2]=u;k[q+4>>2]=((u|0)<0)<<31>>31;q=v+160|0;if(!(kh(q,32)|0)){j[v+168>>1]=514;u=v+176|0;b=k[u>>2]|0;b:do switch(i[w+1>>0]|0){case -6:{g=k[w+16>>2]|0;c=g+6|0;k[R>>2]=m[c>>1];fd(32,b,44768,R)|0;if(!b)f=0;else{f=b;while(1)if(!(i[f>>0]|0))break;else f=f+1|0;f=f-b&1073741823}c:do if(j[c>>1]|0){h=g+16|0;n=0;while(1){e=k[g+(n<<2)+20>>2]|0;if(e){e=k[e>>2]|0;if(!e){d=0;e=0}else S=61}else{e=44776;S=61}do if((S|0)==61){S=0;o=e;while(1)if(!(i[o>>0]|0))break;else o=o+1|0;d=o-e&1073741823;if((d|0)!=6)break;o=(cw(e,11152,6)|0)==0;d=o?1:6;e=o?44784:e}while(0);if((d+f|0)>26)break;o=f+1|0;i[b+f>>0]=44;if(i[(k[h>>2]|0)+n>>0]|0){i[b+o>>0]=45;o=f+2|0}pw(b+o|0,e|0,d+1|0)|0;f=o+d|0;n=n+1|0;if((n|0)>=(m[c>>1]|0))break c}c=b+f|0;i[c>>0]=44;i[c+1>>0]=46;i[c+2>>0]=46;i[c+3>>0]=46}while(0);i[b+f>>0]=41;i[b+(f+1)>>0]=0;e=b;break}case -15:{fd(32,b,44832,R)|0;e=b;break}case -18:{fd(32,b,44848,R)|0;e=b;break}case -4:{k[R>>2]=k[k[w+16>>2]>>2];fd(32,b,44792,R)|0;e=b;break}case -5:{c=k[w+16>>2]|0;e=j[c>>1]|0;k[R>>2]=k[c+24>>2];k[R+4>>2]=e;fd(32,b,44800,R)|0;e=b;break}case -13:{d=k[w+16>>2]|0;c=k[d+4>>2]|0;e=R;k[e>>2]=k[d>>2];k[e+4>>2]=c;fd(32,b,19920,R)|0;e=b;break}case -14:{k[R>>2]=k[w+16>>2];fd(32,b,44808,R)|0;e=b;break}case -12:{p[t>>3]=+p[k[w+16>>2]>>3];k[R>>2]=k[t>>2];k[R+4>>2]=k[t+4>>2];fd(32,b,19912,R)|0;e=b;break}case -8:{f=k[w+16>>2]|0;e=m[f+8>>1]|0;if(e&2){e=k[f+16>>2]|0;break b}if(e&4){d=f;c=k[d+4>>2]|0;e=R;k[e>>2]=k[d>>2];k[e+4>>2]=c;fd(32,b,19920,R)|0;e=b;break b}if(e&8){p[t>>3]=+p[f>>3];k[R>>2]=k[t>>2];k[R+4>>2]=k[t+4>>2];fd(32,b,19912,R)|0;e=b;break b}if(!(e&1))e=44816;else{fd(32,b,20304,R)|0;e=b}break}case -19:{i[b>>0]=0;e=b;break}case -10:{k[R>>2]=k[(k[w+16>>2]|0)+8>>2];fd(32,b,44824,R)|0;e=b;break}default:{f=k[w+16>>2]|0;if(!f){i[b>>0]=0;e=b}else e=f}}while(0);if((e|0)==(k[u>>2]|0)){if(!e)c=0;else{f=e;while(1)if(!(i[f>>0]|0))break;else f=f+1|0;c=f-e&1073741823}k[v+172>>2]=c;i[v+170>>0]=1}else ah(q,e,-1,1,0)|0;c=j[I>>1]|0;if((c&3)==1){if(kh(v+200|0,4)|0){c=1;S=101;break}j[v+208>>1]=514;k[v+212>>2]=2;c=k[v+216>>2]|0;k[R>>2]=l[w+3>>0];fd(3,c,44760,R)|0;i[v+210>>0]=1;j[v+248>>1]=1;c=j[I>>1]|0}j[E>>1]=12-((c&3)<<2);k[B>>2]=(k[A>>2]|0)+40;k[U>>2]=0;c=100}else{c=1;S=101}}while(0);if((S|0)==101){S=0;b=x+184|0;if(((k[b>>2]|0)!=0?(i[x+145>>0]|0)==0:0)?(k[z>>2]|0)!=0:0){gh(k[x>>2]|0,Q)|0;b=k[b>>2]|0;u=k[x+188>>2]|0;v=k[z>>2]|0;d=Q;w=P;w=iw(k[d>>2]|0,k[d+4>>2]|0,k[w>>2]|0,k[w+4>>2]|0)|0;w=xw(w|0,L|0,1e6,0)|0;vc[b&15](u,v,w,L)}if((c|0)==101){g=x+20|0;f=k[g>>2]|0;if((f|0)>0){h=x+16|0;n=x+216|0;o=x+220|0;b=0;c=0;do{e=k[h>>2]|0;d=k[e+(b<<4)+4>>2]|0;if(((d|0)!=0?(J=k[d+4>>2]|0,k[J+4>>2]=k[d>>2],J=k[(k[J>>2]|0)+208>>2]|0,(J|0)!=0):0)?(M=J+12|0,K=k[M>>2]|0,k[M>>2]=0,M=k[n>>2]|0,(M|0)!=0&(K|0)>0&(c|0)==0):0){c=uc[M&31](k[o>>2]|0,x,k[e+(b<<4)>>2]|0,K)|0;f=k[g>>2]|0}b=b+1|0}while((b|0)<(f|0))}else c=0;k[U>>2]=c;c=(c|0)==0?101:1}}k[x+52>>2]=c;if((Tg(k[a>>2]|0,k[U>>2]|0)|0)==7)k[U>>2]=7}if((j[I>>1]&256)!=0&(c|0)!=100&(c|0)!=101)c=mh(a)|0;b=k[x+56>>2]&c;if((b|0)!=17)break;f=y+1|0;if((y|0)>=50){b=17;break}d=k[O>>2]|0;if(!F?(j[I>>1]&256)!=0:0)c=k[z>>2]|0;else c=0;e=k[a>>2]|0;b=nh(e,c,-1,0,a,Q,0)|0;if((b|0)==7){b=e;S=124;break}else if(b){S=127;break}y=k[Q>>2]|0;pw(R|0,y|0,208)|0;pw(y|0,a|0,208)|0;pw(a|0,R|0,208)|0;w=y+52|0;x=k[w>>2]|0;k[w>>2]=k[G>>2];k[G>>2]=x;x=y+48|0;w=k[x>>2]|0;k[x>>2]=k[H>>2];k[H>>2]=w;w=y+168|0;x=k[w>>2]|0;k[w>>2]=k[z>>2];k[z>>2]=x;j[I>>1]=j[I>>1]&-257|j[y+88>>1]&256;oh(y,a);k[y+80>>2]=0;Sg(y)|0;sd(a)|0;if((d|0)<=-1){y=f;continue}j[I>>1]=j[I>>1]|512;y=f}if((S|0)==7){k[U>>2]=7;b=7}else if((S|0)==124){i[b+65>>0]=1;b=7;S=127}do if((S|0)==127){c=Xg(k[V+236>>2]|0,1)|0;rg(V,k[T>>2]|0);if(!(i[V+65>>0]|0)){F=ph(V,c)|0;k[T>>2]=F;k[U>>2]=b;break}else{k[T>>2]=0;k[U>>2]=7;b=7;break}}while(0);b=Tg(V,b)|0}else{k[R>>2]=69408;k[R+4>>2]=10788;gd(21,13648,R);b=21}r=W;return b|0}function Yd(a){a=a|0;return k[(k[a+4>>2]|0)+4>>2]|0}function Zd(a){a=a|0;return k[(k[a>>2]|0)+32>>2]|0}function _d(a,b){a=a|0;b=b|0;var c=0;c=k[a+8>>2]|0;if(!(j[c+8>>1]&8192))c=qh(a,b)|0;else c=k[c+16>>2]|0;return c|0}function $d(a,b){a=a|0;b=b|0;var c=0;c=k[(k[a+12>>2]|0)+204>>2]|0;a:do if(!c)c=0;else{a=k[a+16>>2]|0;while(1){if((k[c>>2]|0)==(a|0)?(k[c+4>>2]|0)==(b|0):0)break;c=k[c+16>>2]|0;if(!c){c=0;break a}}c=k[c+8>>2]|0}while(0);return c|0}function ae(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=k[a+12>>2]|0;do if((b|0)<0)j=14;else{h=f+204|0;e=k[h>>2]|0;a:do if(e){g=k[a+16>>2]|0;while(1){if((k[e>>2]|0)==(g|0)?(k[e+4>>2]|0)==(b|0):0)break;e=k[e+16>>2]|0;if(!e){j=8;break a}}if(e){f=k[e+12>>2]|0;if(f)hc[f&31](k[e+8>>2]|0)}else j=8}else j=8;while(0);if((j|0)==8){e=rh(k[f>>2]|0,20,0)|0;if(!e){j=14;break}f=e+0|0;g=f+16|0;do{i[f>>0]=0;f=f+1|0}while((f|0)<(g|0));k[e>>2]=k[a+16>>2];k[e+4>>2]=b;k[e+16>>2]=k[h>>2];k[h>>2]=e;f=a+25|0;if(!(i[f>>0]|0)){k[a+20>>2]=0;i[f>>0]=1}}k[e+8>>2]=c;k[e+12>>2]=d}while(0);if((j|0)==14?(d|0)!=0:0)hc[d&31](c);return}function be(a){a=a|0;return k[(k[a+8>>2]|0)+12>>2]|0}function ce(a){a=a|0;if(!a)a=0;else a=m[a+84>>1]|0;return a|0}function de(a){a=a|0;if((a|0)!=0?(k[a+20>>2]|0)!=0:0)a=m[a+84>>1]|0;else a=0;return a|0}function ee(a,b){a=a|0;b=b|0;var c=0;b=ud(sh(a,b)|0)|0;if(a){c=a+80|0;a=Tg(k[a>>2]|0,k[c>>2]|0)|0;k[c>>2]=a}return b|0}function fe(a,b){a=a|0;b=b|0;var c=0;b=Yg(sh(a,b)|0,1)|0;if(a){c=a+80|0;a=Tg(k[a>>2]|0,k[c>>2]|0)|0;k[c>>2]=a}return b|0}function ge(a,b){a=a|0;b=b|0;var c=0;b=Yg(sh(a,b)|0,2)|0;if(a){c=a+80|0;a=Tg(k[a>>2]|0,k[c>>2]|0)|0;k[c>>2]=a}return b|0}function he(a,b){a=a|0;b=b|0;var c=0.0;c=+Zg(sh(a,b)|0);if(a){b=a+80|0;a=Tg(k[a>>2]|0,k[b>>2]|0)|0;k[b>>2]=a}return +c}function ie(a,b){a=a|0;b=b|0;var c=0;b=_g(sh(a,b)|0)|0;if(a){c=a+80|0;a=Tg(k[a>>2]|0,k[c>>2]|0)|0;k[c>>2]=a}return b|0}function je(a,b){a=a|0;b=b|0;var c=0,d=0;b=_g(sh(a,b)|0)|0;c=L;if(a){d=a+80|0;a=Tg(k[a>>2]|0,k[d>>2]|0)|0;k[d>>2]=a}L=c;return b|0}function ke(a,b){a=a|0;b=b|0;var c=0;b=Xg(sh(a,b)|0,1)|0;if(a){c=a+80|0;a=Tg(k[a>>2]|0,k[c>>2]|0)|0;k[c>>2]=a}return b|0}function le(a,b){a=a|0;b=b|0;var c=0,d=0;b=sh(a,b)|0;c=b+8|0;d=m[c>>1]|0;if(d&2048)j[c>>1]=d&59391|4096;if(a){c=a+80|0;d=Tg(k[a>>2]|0,k[c>>2]|0)|0;k[c>>2]=d}return b|0}function me(a,b){a=a|0;b=b|0;var c=0;b=Xg(sh(a,b)|0,2)|0;if(a){c=a+80|0;a=Tg(k[a>>2]|0,k[c>>2]|0)|0;k[c>>2]=a}return b|0}function ne(a,b){a=a|0;b=b|0;var c=0;b=(sh(a,b)|0)+8|0;b=l[10064+((m[b>>1]|0)&31)>>0]|0;if(a){c=a+80|0;a=Tg(k[a>>2]|0,k[c>>2]|0)|0;k[c>>2]=a}return b|0}function oe(a,b){a=a|0;b=b|0;var c=0,d=0;d=k[a>>2]|0;if(!a)c=0;else c=m[a+84>>1]|0;if((c|0)>(b|0)&(b|0)>-1){b=Xg((k[a+16>>2]|0)+(b*40|0)|0,1)|0;c=d+65|0;if(i[c>>0]|0){i[c>>0]=0;b=0}}else b=0;return b|0}function pe(a,b){a=a|0;b=b|0;var c=0,d=0;d=k[a>>2]|0;if(!a)c=0;else c=m[a+84>>1]|0;if((c|0)>(b|0)&(b|0)>-1){b=Xg((k[a+16>>2]|0)+(b*40|0)|0,2)|0;c=d+65|0;if(i[c>>0]|0){i[c>>0]=0;b=0}}else b=0;return b|0}function qe(a,b){a=a|0;b=b|0;var c=0,d=0;d=k[a>>2]|0;if(!a)c=0;else c=m[a+84>>1]|0;if((c|0)>(b|0)&(b|0)>-1){b=Xg((k[a+16>>2]|0)+((c+b|0)*40|0)|0,1)|0;c=d+65|0;if(i[c>>0]|0){i[c>>0]=0;b=0}}else b=0;return b|0}function re(a,b){a=a|0;b=b|0;var c=0,d=0;d=k[a>>2]|0;if(!a)c=0;else c=m[a+84>>1]|0;if((c|0)>(b|0)&(b|0)>-1){b=Xg((k[a+16>>2]|0)+((c+b|0)*40|0)|0,2)|0;c=d+65|0;if(i[c>>0]|0){i[c>>0]=0;b=0}}else b=0;return b|0}function se(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return th(a,b,c,d,e,0)|0}function te(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if(e>>>0>0|(e|0)==0&d>>>0>2147483647){d=f;if((d|0)==0|(d|0)==-1)d=18;else{hc[f&31](c);d=18}}else d=th(a,b,c,d,f,0)|0;return d|0}function ue(a,b,c){a=a|0;b=b|0;c=+c;var d=0;d=uh(a,b)|0;if(!d)bh((k[a+60>>2]|0)+((b+-1|0)*40|0)|0,c);return d|0}function ve(a,b,c){a=a|0;b=b|0;c=c|0;return we(a,b,c,((c|0)<0)<<31>>31)|0}function we(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=uh(a,b)|0;do if(!e){b=b+-1|0;f=k[a+60>>2]|0;a=f+(b*40|0)|0;b=f+(b*40|0)+8|0;if(!(j[b>>1]&9312)){k[a>>2]=c;k[a+4>>2]=d;j[b>>1]=4;break}else{ch(a,c,d);break}}while(0);return e|0}function xe(a,b){a=a|0;b=b|0;return uh(a,b)|0}function ye(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return th(a,b,c,d,e,1)|0}function ze(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;if(e>>>0>0|(e|0)==0&d>>>0>2147483647){d=f;if((d|0)==0|(d|0)==-1)d=18;else{hc[f&31](c);d=18}}else d=th(a,b,c,d,f,g<<24>>24==4?2:g)|0;return d|0}function Ae(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return th(a,b,c,d,e,2)|0}function Be(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=j[c+8>>1]|0;e=l[10064+(d&31)>>0]|0;do if((e|0)==3)d=th(a,b,k[c+16>>2]|0,k[c+12>>2]|0,-1,i[c+10>>0]|0)|0;else if((e|0)==2)d=ue(a,b,+p[c>>3])|0;else if((e|0)==4)if(!(d&16384)){d=th(a,b,k[c+16>>2]|0,k[c+12>>2]|0,-1,0)|0;break}else{d=Ce(a,b,k[c>>2]|0)|0;break}else if((e|0)==1){d=c;d=we(a,b,k[d>>2]|0,k[d+4>>2]|0)|0}else d=uh(a,b)|0;while(0);return d|0}function Ce(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=uh(a,b)|0;if(!d)eh((k[a+60>>2]|0)+((b+-1|0)*40|0)|0,c);return d|0}function De(a){a=a|0;if(!a)a=0;else a=j[a+68>>1]|0;return a|0}function Ee(a,b){a=a|0;b=b|0;if(!((a|0)==0|(b|0)<1)?(j[a+70>>1]|0)>=(b|0):0)b=k[(k[a+64>>2]|0)+(b+-1<<2)>>2]|0;else b=0;return b|0}function Fe(a,b){a=a|0;b=b|0;var c=0;if(!b)c=0;else{c=b;while(1)if(!(i[c>>0]|0))break;else c=c+1|0;c=c-b&1073741823}return vh(a,b,c)|0}function Ge(a,b){a=a|0;b=b|0;var c=0,d=0;if((j[a+68>>1]|0)==(j[b+68>>1]|0)){d=b+88|0;c=j[d>>1]|0;if((c&256)!=0?(k[b+188>>2]|0)!=0:0)j[d>>1]=c|8;c=a+88|0;d=j[c>>1]|0;if((d&256)!=0?(k[a+188>>2]|0)!=0:0)j[c>>1]=d|8;oh(a,b);c=0}else c=1;return c|0}function He(a){a=a|0;if(!a)a=0;else a=k[a>>2]|0;return a|0}function Ie(a){a=a|0;if(!a)a=1;else a=(m[a+88>>1]|0)>>>6&1;return a|0}function Je(a){a=a|0;if((a|0)!=0?(k[a+76>>2]|0)>-1:0)a=(k[a+40>>2]|0)==-1108210269;else a=0;return a&1|0}function Ke(a,b){a=a|0;b=b|0;if(!b)a=a+4|0;else a=b+52|0;return k[a>>2]|0}function Le(a,b,c){a=a|0;b=b|0;c=c|0;a=a+(b<<2)+108|0;b=k[a>>2]|0;if(c)k[a>>2]=0;return b|0}function Me(a){a=a|0;var b=0,c=0,d=0;c=a+8|0;d=m[c>>1]|0;b=l[10064+(d&31)>>0]|0;if((d&15|0)==2){wh(a,0);b=l[10064+((m[c>>1]|0)&31)>>0]|0}return b|0}function Ne(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var l=0,m=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;R=r;r=r+16|0;if((r|0)>=(s|0))ka();P=R;Q=R+4|0;k[Q>>2]=0;k[h>>2]=0;K=(g|0)!=0;L=K&1;N=rh(a,28,0)|0;do if(N){g=N+0|0;n=g+28|0;do{i[g>>0]=0;g=g+1|0}while((g|0)<(n|0));n=rh(a,536,0)|0;if(n){H=a+20|0;I=a+16|0;y=a+24|0;g=N+20|0;z=N+12|0;A=N+24|0;B=a+65|0;C=L^3;D=L|2;E=n+440|0;F=n+72|0;G=n+68|0;m=0;J=1;l=0;while(1){kw(n|0,0,536)|0;k[n>>2]=a;rg(a,m);k[Q>>2]=0;m=k[H>>2]|0;if((m|0)>0){o=k[I>>2]|0;q=0;do{p=k[o+(q<<4)+4>>2]|0;if(p)k[(k[p+4>>2]|0)+4>>2]=k[p>>2];q=q+1|0}while((q|0)!=(m|0))}x=xh(n,0,c,b)|0;if(!x)break;m=i[x+44>>0]|0;if(m&16){O=11;break}if(m&32){O=13;break}if(k[x+12>>2]|0){O=17;break}w=x+38|0;t=j[w>>1]|0;a:do if(t<<16>>16>0){q=k[x+4>>2]|0;p=t<<16>>16;m=0;while(1){o=m+1|0;if(!(id(k[q+(m*24|0)>>2]|0,d)|0)){o=m;break a}if((o|0)<(p|0))m=o;else break}}else o=0;while(0);if((o|0)==(t<<16>>16|0)){O=23;break}if(K){if((k[y>>2]&524288|0)!=0?(M=k[x+16>>2]|0,(M|0)!=0):0){u=M;m=0;do{t=k[u+20>>2]|0;if((t|0)>0){q=0;do{m=(k[u+(q<<3)+36>>2]|0)==(o|0)?10280:m;q=q+1|0}while((q|0)<(t|0))}u=k[u+4>>2]|0}while((u|0)!=0)}else m=0;q=k[x+8>>2]|0;if(q)do{p=j[q+46>>1]|0;if(p<<16>>16){v=k[q+4>>2]|0;t=p&65535;u=0;do{m=(j[v+(u<<1)>>1]|0)==(o|0)?10296:m;u=u+1|0}while((u|0)<(t|0))}q=k[q+20>>2]|0}while((q|0)!=0);if(m){O=36;break}}v=Ah(n)|0;k[g>>2]=v;if(v){u=k[x+68>>2]|0;b:do if(u){t=k[H>>2]|0;if((t|0)>0){q=k[I>>2]|0;m=0;while(1){p=m+1|0;if((k[q+(m<<4)+12>>2]|0)==(u|0)){p=m;break b}if((p|0)<(t|0))m=p;else break}}else p=0}else p=-1e6;while(0);m=k[u+4>>2]|0;Ch(v,Bh(v,4,p,L,k[u>>2]|0)|0,m,-14);m=v+4|0;q=k[m>>2]|0;t=v+32|0;if(q)i[q+(((k[t>>2]|0)+-1|0)*20|0)+3>>0]=1;Dh(v,10,10120)|0;q=v+96|0;k[q>>2]=k[q>>2]|1<<p;if((k[t>>2]|0)>>>0>1){u=k[m>>2]|0;k[u+24>>2]=p;q=x+32|0;k[u+28>>2]=k[q>>2];k[(k[m>>2]|0)+32>>2]=L}else q=x+32|0;Ch(v,1,k[x>>2]|0,0);Eh(v,C);if((k[t>>2]|0)>>>0>D>>>0){k[(k[m>>2]|0)+(D*20|0)+8>>2]=k[q>>2];k[(k[m>>2]|0)+(D*20|0)+12>>2]=p}Ch(v,D,(j[w>>1]|0)+1|0,-14);if((k[t>>2]|0)>>>0>6)k[(k[m>>2]|0)+128>>2]=j[w>>1];if(!(i[B>>0]|0)){k[E>>2]=1;k[F>>2]=1;k[G>>2]=1;Fh(v,n)}}k[N>>2]=L;k[z>>2]=o;k[A>>2]=a;if(i[B>>0]|0){O=57;break}we(k[g>>2]|0,1,e,f)|0;l=Gh(N,e,f,Q)|0;if(!((J|0)<50&(l|0)==17)){O=57;break}m=k[Q>>2]|0;J=J+1|0;l=17}if((O|0)==11){k[P>>2]=c;yh(n,10160,P)}else if((O|0)==13){k[P>>2]=c;yh(n,10192,P)}else if((O|0)==17){k[P>>2]=c;yh(n,10232,P)}else if((O|0)==23){rg(a,0);k[P>>2]=d;l=zh(a,10256,P)|0;k[Q>>2]=l;l=1;O=62;break}else if((O|0)==36){rg(a,0);k[P>>2]=m;l=zh(a,10304,P)|0;k[Q>>2]=l;l=1;O=62;break}else if((O|0)==57)if(!l){l=1;m=n;O=58;break}else{m=n;O=61;break}m=n+4|0;if(!(k[m>>2]|0)){l=1;O=62}else{rg(a,0);k[Q>>2]=k[m>>2];k[m>>2]=0;l=1;O=62}}else{l=1;m=n;O=58}}else{l=0;m=0;O=58}while(0);do if((O|0)==58)if(i[a+65>>0]|0)if(l){l=0;O=61;break}else{l=0;O=64;break}else{k[h>>2]=N;l=0;break}while(0);if((O|0)==61){g=N+20|0;n=m;O=62}if((O|0)==62){m=k[g>>2]|0;if(!m){m=n;O=64}else{Sg(m)|0;m=n;O=64}}if((O|0)==64)rg(a,N);H=k[Q>>2]|0;k[P>>2]=H;zg(a,l,(H|0)!=0?10344:0,P);rg(a,H);Hh(m);rg(a,m);H=Tg(a,l)|0;r=R;return H|0}function Oe(a){a=a|0;var b=0,c=0;if(!a)a=0;else{c=k[a+24>>2]|0;b=rd(k[a+20>>2]|0)|0;rg(c,a);a=b}return a|0}function Pe(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Jh(a,b,c,d,18)|0}function Qe(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Jh(a,b,c,d,19)|0}function Re(a){a=a|0;if((a|0)!=0?(k[a+20>>2]|0)!=0:0)a=k[a+4>>2]|0;else a=0;return a|0}function Se(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;if((r|0)>=(s|0))ka();d=g;e=g+8|0;if(!a){k[d>>2]=77720;k[d+4>>2]=10788;gd(21,13648,d);b=21}else{f=k[a+24>>2]|0;if(k[a+20>>2]|0){b=Gh(a,b,c,e)|0;if(!b)b=0;else{c=k[e>>2]|0;k[d>>2]=c;zg(f,b,(c|0)!=0?10344:0,d);rg(f,c)}}else b=4;b=Tg(f,b)|0}r=g;return b|0}function Te(a,b,c){a=a|0;b=b|0;c=c|0;k[a+284>>2]=b;k[a+288>>2]=c;a=k[a+4>>2]|0;if(a)do{c=a+88|0;j[c>>1]=j[c>>1]|8;a=k[a+52>>2]|0}while((a|0)!=0);return 0}function Ue(a,b){a=a|0;b=b|0;return (Lh(a,b,10352,0)|0)==0|0}function Ve(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=r;r=r+16|0;if((r|0)>=(s|0))ka();g=B;x=B+12|0;y=B+8|0;k[y>>2]=0;do if(Mh(a)|0){f=(b|0)==0?10360:b;z=a+52|0;k[z>>2]=0;A=a+236|0;g=k[A>>2]|0;do if(g){b=g+8|0;if(!(j[b>>1]&9312)){j[b>>1]=1;break}else{Ag(g);break}}while(0);u=(c|0)==0;v=a+24|0;g=0;a:while(1){do{if(g){h=39;break a}if(!(i[f>>0]|0)){g=0;h=39;break a}k[y>>2]=0;g=nh(a,f,-1,1,0,y,x)|0}while((g|0)!=0);f=k[y>>2]|0;if(!f){f=k[x>>2]|0;g=0;continue}t=j[f+84>>1]|0;p=t&65535;q=p<<3|1;t=t<<16>>16==0;b=0;h=0;m=0;b:do{g=Xd(f)|0;do if(!u){n=(g|0)==100;if(!n){if((g|0)!=101|(m|0)!=0)break b;if(!(k[v>>2]&256)){m=0;break}}if(!m){b=rh(a,q,0)|0;if(!b){b=0;h=40;break a}kw(b|0,0,q|0)|0;if(t)o=1;else{m=0;do{o=oe(f,m)|0;k[b+(m<<2)>>2]=o;m=m+1|0}while((m|0)<(p|0));o=1}}else o=m;c:do if(n){h=b+(p<<2)|0;if(!t){m=0;while(1){n=ke(f,m)|0;k[b+(m+p<<2)>>2]=n;if((n|0)==0?(w=k[y>>2]|0,(ne(w,m)|0)!=5):0){g=w;h=27;break a}m=m+1|0;if((m|0)>=(p|0))break c;f=k[y>>2]|0}}}while(0);if(!(uc[c&31](d,p,h,b)|0))m=o;else{f=b;h=31;break a}}while(0);f=k[y>>2]|0}while((g|0)==100);g=Sg(f)|0;k[y>>2]=0;f=k[x>>2]|0;while(1)if(!(i[10368+(l[f>>0]|0)>>0]&1))break;else f=f+1|0;rg(a,b)}do if((h|0)==27){i[a+65>>0]=1;f=g;g=100;h=40}else if((h|0)==31){Sg(k[y>>2]|0)|0;k[y>>2]=0;k[z>>2]=4;g=k[A>>2]|0;if(g){b=g+8|0;if(!(j[b>>1]&9312)){j[b>>1]=1;b=f;g=4;break}else{Ag(g);b=f;g=4;break}}else{b=f;g=4}}else if((h|0)==39){f=k[y>>2]|0;b=0;h=40}while(0);if((h|0)==40)if(f)Sg(f)|0;rg(a,b);f=Tg(a,g)|0;b=(e|0)!=0;if(!((f|0)!=0&b)){if(!b)break;k[e>>2]=0;break}b=Xe(a)|0;if(!b)b=1;else{g=b;while(1)if(!(i[g>>0]|0))break;else g=g+1|0;b=(g-b&1073741823)+1|0}g=vg(b,((b|0)<0)<<31>>31)|0;k[e>>2]=g;if(g){pw(g|0,Xe(a)|0,b|0)|0;break}k[z>>2]=7;f=k[A>>2]|0;if(f){b=f+8|0;if(!(j[b>>1]&9312)){j[b>>1]=1;f=7;break}else{Ag(f);f=7;break}}else f=7}else{k[g>>2]=101334;k[g+4>>2]=10788;gd(21,13648,g);f=21}while(0);r=B;return f|0}function We(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return nh(a,b,c,1,0,d,e)|0}function Xe(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;if((r|0)>=(s|0))ka();b=c;do if(a){d=k[a+76>>2]|0;if(!((d|0)==1266094736|(d|0)==-1607883113|(d|0)==-264537850)){k[b>>2]=15248;gd(21,15256,b);k[b>>2]=129635;k[b+4>>2]=10788;gd(21,13648,b);b=16120;break}if(!(i[a+65>>0]|0)){b=Xg(k[a+236>>2]|0,1)|0;if(!b){b=k[a+52>>2]|0;if((b|0)!=516){b=b&255;if(b>>>0>26|(b|0)==2)b=16328;else b=k[15488+(b<<2)>>2]|0}else b=16344}}else b=15776}else b=15776;while(0);r=c;return b|0}function Ye(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,t=0,u=0;u=r;r=r+16|0;if((r|0)>=(s|0))ka();q=u;t=u+8|0;p=k[a>>2]|0;k[t>>2]=0;j=(b|0)==0;if(j)e=0;else{h=b;while(1)if(!(i[h>>0]|0))break;else h=h+1|0;e=h-b&1073741823}n=e+300|0;m=(d|0)!=0;if(m)k[d>>2]=0;do if(!(k[a+24>>2]&4194304))if(m){e=dd(25216,q)|0;k[d>>2]=e;e=1}else e=1;else{l=(c|0)!=0?c:41192;g=p+40|0;h=wc[k[g>>2]&127](p,b)|0;if(!h){k[q>>2]=b;k[q+4>>2]=41184;f=dd(27824,q)|0;if(!f){e=7;break}h=wc[k[g>>2]&127](p,f)|0;$c(f);if(!h){if(!m){e=1;break}h=Yc(n)|0;k[t>>2]=h;k[d>>2]=h;if(!h){e=1;break}k[q>>2]=b;fd(n,h,41216,q)|0;rc[k[p+44>>2]&63](p,e+299|0,h);e=1;break}else o=h}else o=h;e=p+48|0;h=fc[k[e>>2]&63](p,o,l)|0;if((h|0)==0&(c|0)==0){if(j)h=0;else{h=b;while(1)if(!(i[h>>0]|0))break;else h=h+1|0;h=h-b&1073741823}c=Yc(h+30|0)|0;if(!c){oc[k[p+52>>2]&15](p,o);e=7;break}l=c;j=l;i[j>>0]=115;i[j+1>>0]=113;i[j+2>>0]=108;i[j+3>>0]=105;l=l+4|0;i[l>>0]=116;i[l+1>>0]=101;i[l+2>>0]=51;i[l+3>>0]=95;while(1){g=h+-1|0;if((h|0)<=0)break;if((i[b+g>>0]|0)==47)break;else h=g}f=(Kc(b+h|0,41256,3)|0)==0;g=8;f=f?h+3|0:h;while(1){h=i[b+f>>0]|0;if(h<<24>>24==0|h<<24>>24==46){h=g;break}if(!(i[10368+(h&255)>>0]&2))h=g;else{i[c+g>>0]=i[9328+(h<<24>>24)>>0]|0;h=g+1|0}g=h;f=f+1|0}h=c+h|0;i[h+0>>0]=i[41264]|0;i[h+1>>0]=i[41265]|0;i[h+2>>0]=i[41266]|0;i[h+3>>0]=i[41267]|0;i[h+4>>0]=i[41268]|0;i[h+5>>0]=i[41269]|0;h=fc[k[e>>2]&63](p,o,c)|0;e=c;f=c}else{e=0;f=l}if(!h){if(m){if(!f)h=0;else{h=f;while(1)if(!(i[h>>0]|0))break;else h=h+1|0;h=h-f&1073741823}h=h+n|0;g=Yc(h)|0;k[t>>2]=g;k[d>>2]=g;if(g){k[q>>2]=f;k[q+4>>2]=b;fd(h,g,41272,q)|0;rc[k[p+44>>2]&63](p,h+-1|0,g)}}oc[k[p+52>>2]&15](p,o);$c(e);e=1;break}$c(e);if(fc[h&63](a,t,13776)|0){if(m){k[q>>2]=k[t>>2];n=dd(41320,q)|0;k[d>>2]=n}$c(k[t>>2]|0);oc[k[p+52>>2]&15](p,o);e=1;break}g=a+168|0;e=(k[g>>2]<<2)+4|0;h=rh(a,e,0)|0;if(!h)e=7;else{kw(h|0,0,e|0)|0;e=k[g>>2]|0;f=a+172|0;if((e|0)>0)pw(h|0,k[f>>2]|0,e<<2|0)|0;rg(a,k[f>>2]|0);k[f>>2]=h;e=k[g>>2]|0;k[g>>2]=e+1;k[h+(e<<2)>>2]=o;e=0}}while(0);o=Tg(a,e)|0;r=u;return o|0}function Ze(a){a=a|0;var b=0,c=0,d=0,e=0;b=Qc()|0;if(!b){e=k[2656]|0;a:do if((e|0)>0){c=k[2658]|0;d=0;while(1){b=d+1|0;if((k[c+(d<<2)>>2]|0)==(a|0)){b=d;break a}if((b|0)<(e|0))d=b;else break}}else b=0;while(0);if((b|0)==(e|0)){b=ad(k[2658]|0,(e<<2)+4|0)|0;if(!b)b=7;else{k[2658]=b;c=k[2656]|0;k[b+(c<<2)>>2]=a;k[2656]=c+1;b=0}}else b=0}return b|0}function _e(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;d=k[2656]|0;e=k[2658]|0;c=d;while(1){if((c|0)<=0){b=0;break}c=c+-1|0;b=e+(c<<2)|0;if((k[b>>2]|0)==(a|0)){f=4;break}}if((f|0)==4){c=d+-1|0;k[2656]=c;k[b>>2]=k[e+(c<<2)>>2];b=1}return b|0}function $e(){if(!(Qc()|0)){$c(k[2658]|0);k[2658]=0;k[2656]=0}return}function af(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return nh(a,b,c,0,0,d,e)|0}function bf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Nh(a,b,c,0,d,e)|0}function cf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Nh(a,b,c,1,d,e)|0}function df(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0;v=r;r=r+32|0;if((r|0)>=(s|0))ka();l=v;o=v+4|0;k[c>>2]=0;p=(e|0)!=0;if(p)k[e>>2]=0;q=(d|0)!=0;if(q)k[d>>2]=0;i=(f|0)!=0;if(i)k[f>>2]=0;j=o+4|0;k[j>>2]=0;t=o+12|0;k[t>>2]=0;u=o+16|0;k[u>>2]=0;h=o+20|0;k[h>>2]=1;m=o+8|0;k[m>>2]=20;n=o+24|0;k[n>>2]=0;g=Yc(80)|0;k[o>>2]=g;a:do if(g){k[g>>2]=0;b=Ve(a,b,20,o,f)|0;k[k[o>>2]>>2]=k[h>>2];if((b&255|0)==4){ef((k[o>>2]|0)+4|0);b=k[j>>2]|0;if(b){if(i){$c(k[f>>2]|0);k[l>>2]=k[j>>2];b=dd(10344,l)|0;k[f>>2]=b;b=k[j>>2]|0}$c(b)}b=k[n>>2]|0;k[a+52>>2]=b;break}$c(k[j>>2]|0);if(b){ef((k[o>>2]|0)+4|0);break}g=k[h>>2]|0;b=k[o>>2]|0;do if((k[m>>2]|0)>>>0>g>>>0){b=ad(b,g<<2)|0;if(!b){ef((k[o>>2]|0)+4|0);k[a+52>>2]=7;b=7;break a}else{k[o>>2]=b;break}}while(0);k[c>>2]=b+4;if(p)k[e>>2]=k[u>>2];if(q){k[d>>2]=k[t>>2];b=0}else b=0}else{k[a+52>>2]=7;b=7}while(0);r=v;return b|0}function ef(a){a=a|0;var b=0,c=0,d=0,e=0;if(a){b=a+-4|0;d=k[b>>2]|0;c=d;if((d|0)>1){e=1;do{d=k[a+(e+-1<<2)>>2]|0;if(d)$c(d);e=e+1|0}while((e|0)<(c|0))}$c(b)}return}function ff(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ph(a,b,c,d,0)|0}function gf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ph(a,b,c,d,e)|0}function hf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0;n=r;r=r+16|0;if((r|0)>=(s|0))ka();m=n;d=n+8|0;k[d>>2]=0;e=a+324|0;c=k[e>>2]|0;if((c|0)!=0?(h=k[c+4>>2]|0,(h|0)!=0):0){l=rh(a,536,0)|0;if(!l)b=7;else{kw(l|0,0,536)|0;f=l+451|0;i[f>>0]=1;k[l>>2]=a;k[l+424>>2]=1;if(((((Qh(l,b,d)|0)==0?(g=k[l+484>>2]|0,(g|0)!=0):0)?(i[a+65>>0]|0)==0:0)?(k[g+12>>2]|0)==0:0)?(i[g+44>>0]&16)==0:0){c=h+4|0;if(!(k[c>>2]|0)){m=g+4|0;k[c>>2]=k[m>>2];g=g+38|0;j[h+38>>1]=j[g>>1]|0;j[g>>1]=0;k[m>>2]=0}k[(k[e>>2]|0)+4>>2]=0;b=0}else{b=k[d>>2]|0;k[m>>2]=b;zg(a,1,(b|0)!=0?10344:0,m);rg(a,b);b=1}i[f>>0]=0;c=k[l+8>>2]|0;if(c)Sg(c)|0;pg(a,k[l+484>>2]|0);Hh(l);rg(a,l)}b=Tg(a,b)|0}else{k[a+52>>2]=21;c=k[a+236>>2]|0;do if(c){b=c+8|0;if(!(j[b>>1]&9312)){j[b>>1]=1;break}else{Ag(c);break}}while(0);k[m>>2]=114865;k[m+4>>2]=10788;gd(21,13648,m);b=21}r=n;return b|0}function jf(a){a=a|0;return l[10640+((l[a+69>>0]|0)+-1)>>0]|0|0}function kf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+32|0;if((r|0)>=(s|0))ka();e=g;d=g+8|0;k[d>>2]=c;do if((b|0)==1){b=k[a+324>>2]|0;if(!b){k[e>>2]=115248;k[e+4>>2]=10788;gd(21,13648,e);f=6;break}else{a=k[d>>2]|0;c=k[a>>2]|0;k[d>>2]=a+4;i[(k[b>>2]|0)+16>>0]=c;b=0;break}}else{k[e>>2]=115256;k[e+4>>2]=10788;gd(21,13648,e);f=6}while(0);do if((f|0)==6){k[a+52>>2]=21;b=k[a+236>>2]|0;if(b){c=b+8|0;if(!(j[c>>1]&9312)){j[c>>1]=1;b=21;break}else{Ag(b);b=21;break}}else b=21}while(0);r=g;return b|0}function lf(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;b=i[a>>0]|0;a:do if(b<<24>>24){e=b;b=0;b:while(1){d=e<<24>>24;switch(d|0){case 45:{if((i[a+1>>0]|0)==45){c=e;while(1){d=c<<24>>24==0;e=a+1|0;if(!(c<<24>>24!=10&(d^1)))break;a=e;c=i[e>>0]|0}if(d){f=13;break b}else c=1}else c=2;break}case 91:{do{a=a+1|0;d=i[a>>0]|0;c=d<<24>>24==0}while(d<<24>>24!=93&(c^1));if(c){b=0;break a}else c=2;break}case 12:case 10:case 9:case 13:case 32:{c=1;break}case 39:case 34:case 96:{do{a=a+1|0;d=i[a>>0]|0;c=d<<24>>24==0}while(d<<24>>24!=e<<24>>24&(c^1));if(c){b=0;break a}else c=2;break}case 47:{if((i[a+1>>0]|0)==42){a=a+2|0;while(1){c=i[a>>0]|0;if(c<<24>>24==42){a=a+1|0;if((i[a>>0]|0)==47){c=1;break}else continue}else if(!(c<<24>>24)){b=0;break a}else{a=a+1|0;continue}}}else c=2;break}case 59:{c=0;break}default:if(!(i[10368+(e&255)>>0]&70))c=2;else{c=1;while(1)if(!(i[10368+(l[a+c>>0]|0)>>0]&70)){e=c;break}else c=c+1|0;c:do switch(d|0){case 67:case 99:{if((e|0)==6?(Kc(a,10712,6)|0)==0:0){c=4;break c}c=2;break}case 84:case 116:{if((e|0)==7){if(!(Kc(a,10720,7)|0)){c=6;break c}}else if((e|0)==4){if(!(Kc(a,10728,4)|0)){c=5;break c}}else if((e|0)==9?(Kc(a,10736,9)|0)==0:0){c=5;break c}c=2;break}case 69:case 101:{if((e|0)==3){if(!(Kc(a,10752,3)|0)){c=7;break c}}else if((e|0)==7?(Kc(a,10760,7)|0)==0:0){c=3;break c}c=2;break}default:c=2}while(0);a=a+(e+-1)|0}}b=i[(c&255)+(10648+((b&255)<<3))>>0]|0;a=a+1|0;e=i[a>>0]|0;if(!(e<<24>>24)){f=35;break}}if((f|0)==13){b=b<<24>>24==1&1;break}else if((f|0)==35){b=b<<24>>24==1;f=36;break}}else{b=0;f=36}while(0);if((f|0)==36)b=b&1;return b|0}function mf(a){a=a|0;var b=0,c=0,d=0;b=Qc()|0;if(!b){c=vg(40,0)|0;if(c){b=c+0|0;d=b+40|0;do{i[b>>0]=0;b=b+1|0}while((b|0)<(d|0));j[c+8>>1]=1;k[c+32>>2]=0;ah(c,a,-1,2,0)|0}b=Xg(c,1)|0;if(!b)b=7;else b=(lf(b)|0)&255;Rh(c)}return b|0}function nf(){return 8632}function of(){return 10768}function pf(){return 3008009}function qf(){return 0}function rf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+32|0;if((r|0)>=(s|0))ka();c=e;d=e+8|0;if(!(k[2243]|0)){k[d>>2]=b;do switch(a|0){case 5:{if(!(k[2195]|0)){k[c>>2]=16496;rf(4,c)|0}a=k[d>>2]|0;c=k[a>>2]|0;k[d>>2]=a+4;k[c+0>>2]=k[2195];k[c+4>>2]=k[2196];k[c+8>>2]=k[2197];k[c+12>>2]=k[2198];k[c+16>>2]=k[2199];k[c+20>>2]=k[2200];k[c+24>>2]=k[2201];k[c+28>>2]=k[2202];c=0;break}case 17:{a=k[d>>2]|0;c=k[a>>2]|0;k[d>>2]=a+4;k[2189]=c;c=0;break}case 20:{a=k[d>>2]|0;c=k[a>>2]|0;k[d>>2]=a+4;k[2190]=c;c=0;break}case 19:{if(!(k[2214]|0)){k[c>>2]=16440;rf(18,c)|0}a=k[d>>2]|0;c=k[a>>2]|0;k[d>>2]=a+4;c=c+0|0;a=8848|0;d=c+52|0;do{k[c>>2]=k[a>>2];c=c+4|0;a=a+4|0}while((c|0)<(d|0));c=0;break}case 16:{c=k[d>>2]|0;a=k[c>>2]|0;k[d>>2]=c+4;k[2250]=a;a=k[d>>2]|0;c=k[a>>2]|0;k[d>>2]=a+4;k[2251]=c;c=0;break}case 13:{c=k[d>>2]|0;a=k[c>>2]|0;k[d>>2]=c+4;k[2193]=a;a=k[d>>2]|0;c=k[a>>2]|0;k[d>>2]=a+4;k[2194]=c;c=0;break}case 7:{a=k[d>>2]|0;c=k[a>>2]|0;k[d>>2]=a+4;k[2237]=c;c=k[d>>2]|0;a=k[c>>2]|0;k[d>>2]=c+4;k[2238]=a;a=k[d>>2]|0;c=k[a>>2]|0;k[d>>2]=a+4;k[2239]=c;c=0;break}case 24:{a=k[d>>2]|0;c=k[a>>2]|0;k[d>>2]=a+4;k[c>>2]=152;c=0;break}case 15:{c=1;break}case 4:{a=k[d>>2]|0;c=k[a>>2]|0;k[d>>2]=a+4;k[2195]=k[c+0>>2];k[2196]=k[c+4>>2];k[2197]=k[c+8>>2];k[2198]=k[c+12>>2];k[2199]=k[c+16>>2];k[2200]=k[c+20>>2];k[2201]=k[c+24>>2];k[2202]=k[c+28>>2];c=0;break}case 18:{c=k[d>>2]|0;a=k[c>>2]|0;k[d>>2]=c+4;c=8848|0;a=a+0|0;d=c+52|0;do{k[c>>2]=k[a>>2];c=c+4|0;a=a+4|0}while((c|0)<(d|0));c=0;break}case 6:{a=k[d>>2]|0;c=k[a>>2]|0;k[d>>2]=a+4;k[2234]=c;c=k[d>>2]|0;a=k[c>>2]|0;k[d>>2]=c+4;k[2235]=a;a=k[d>>2]|0;c=k[a>>2]|0;k[d>>2]=a+4;k[2236]=c;c=0;break}case 9:{a=k[d>>2]|0;c=k[a>>2]|0;k[d>>2]=a+4;k[2186]=c;c=0;break}case 22:{k[d>>2]=(k[d>>2]|0)+8;k[d>>2]=(k[d>>2]|0)+8;k[2230]=0;k[2231]=0;k[2232]=0;k[2233]=0;c=0;break}case 25:{a=k[d>>2]|0;c=k[a>>2]|0;k[d>>2]=a+4;k[2242]=c;c=0;break}case 14:{c=0;break}default:c=1}while(0)}else{k[c>>2]=127883;k[c+4>>2]=10788;gd(21,13648,c);c=21}r=e;return c|0}function sf(a){a=a|0;return k[a+12>>2]|0}function tf(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=a+20|0;b=k[g>>2]|0;e=(b|0)>0;if(e){d=k[a+16>>2]|0;f=0;do{c=k[d+(f<<4)+4>>2]|0;if(c)k[(k[c+4>>2]|0)+4>>2]=k[c>>2];f=f+1|0}while((f|0)!=(b|0));if(e){e=a+16|0;d=0;do{c=k[(k[e>>2]|0)+(d<<4)+4>>2]|0;if(c){hc[k[8744+152>>2]&31](k[(k[(k[k[c+4>>2]>>2]|0)+204>>2]|0)+40>>2]|0);b=k[g>>2]|0}d=d+1|0}while((d|0)<(b|0))}}return 0}function uf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;if((r|0)>=(s|0))ka();f=h;k[f>>2]=c;a:do if((b|0)!=1001){c=0;while(1){if((k[10936+(c<<3)>>2]|0)==(b|0))break;c=c+1|0;if(c>>>0>=2){d=1;break a}}e=k[f>>2]|0;b=k[e>>2]|0;k[f>>2]=e+4;e=k[f>>2]|0;g=k[e>>2]|0;k[f>>2]=e+4;f=a+24|0;e=k[f>>2]|0;if((b|0)<=0)if(!b){b=e&~k[10940+(c<<3)>>2];k[f>>2]=b}else b=e;else{b=k[10940+(c<<3)>>2]|e;k[f>>2]=b}if((e|0)!=(b|0)?(d=k[a+4>>2]|0,(d|0)!=0):0)do{b=d+88|0;j[b>>1]=j[b>>1]|8;d=k[d+52>>2]|0}while((d|0)!=0);if(!g)d=0;else{k[g>>2]=(k[10940+(c<<3)>>2]&k[f>>2]|0)!=0&1;d=0}}else{e=k[f>>2]|0;b=k[e>>2]|0;k[f>>2]=e+4;e=k[f>>2]|0;c=k[e>>2]|0;k[f>>2]=e+4;e=k[f>>2]|0;d=k[e>>2]|0;k[f>>2]=e+4;d=Sh(a,b,c,d)|0}while(0);r=h;return d|0}function vf(a){a=a|0;a=a+32|0;L=k[a+4>>2]|0;return k[a>>2]|0}function wf(a){a=a|0;return k[a+80>>2]|0}function xf(a){a=a|0;return k[a+84>>2]|0}function yf(a){a=a|0;return Th(a,0)|0}function zf(a){a=a|0;return Th(a,1)|0}function Af(a,b,c){a=a|0;b=b|0;c=c|0;k[a+444>>2]=b;k[a+448>>2]=c;k[a+452>>2]=0;k[a+492>>2]=0;return 0}function Bf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=(b|0)>0;k[a+292>>2]=e?c:0;k[a+300>>2]=e?b:0;k[a+296>>2]=e?d:0;return}function Cf(a,b){a=a|0;b=b|0;var c=0;c=(b|0)>0;k[a+444>>2]=c?74:0;k[a+448>>2]=c?a:0;k[a+452>>2]=0;k[a+492>>2]=c?b:0;return 0}function Df(a){a=a|0;k[a+240>>2]=1;return}function Ef(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return Tg(a,Vh(a,b,c,d,e,f,g,h,0)|0)|0}function Ff(a,b,c,d,e,f,g,h,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var l=0,m=0,n=0;do if(j){l=rh(a,12,0)|0;if(!l){hc[j&31](e);d=1;break}m=l;n=m;i[n>>0]=0;i[n+1>>0]=0;i[n+2>>0]=0;i[n+3>>0]=0;m=m+4|0;i[m>>0]=0;i[m+1>>0]=0;i[m+2>>0]=0;i[m+3>>0]=0;k[l+4>>2]=j;k[l+8>>2]=e;d=Vh(a,b,c,d,e,f,g,h,l)|0;if(!(k[l>>2]|0)){hc[j&31](e);rg(a,l)}}else d=Vh(a,b,c,d,e,f,g,h,0)|0;while(0);return Tg(a,d)|0}function Gf(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;b=Wh(a,b,-1)|0;d=Vh(a,b,c,d,e,f,g,h,0)|0;rg(a,b);return Tg(a,d)|0}function Hf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(!b)d=0;else{d=b;while(1)if(!(i[d>>0]|0))break;else d=d+1|0;d=d-b&1073741823}if(!(Xh(a,b,d,c,1,0)|0))d=Vh(a,b,c,1,0,57,0,0,0)|0;else d=0;return Tg(a,d)|0}function If(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=a+180|0;d=k[e>>2]|0;k[a+176>>2]=b;k[e>>2]=c;return d|0}function Jf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=a+188|0;d=k[e>>2]|0;k[a+184>>2]=b;k[e>>2]=c;return d|0}function Kf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=a+192|0;d=k[e>>2]|0;k[a+196>>2]=b;k[e>>2]=c;return d|0}function Lf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=a+208|0;d=k[e>>2]|0;k[a+212>>2]=b;k[e>>2]=c;return d|0}function Mf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=a+200|0;d=k[e>>2]|0;k[a+204>>2]=b;k[e>>2]=c;return d|0}function Nf(a,b){a=a|0;b=b|0;var c=0;if((b|0)>0)c=21;else{b=0;c=0}k[a+216>>2]=c;k[a+220>>2]=b;return 0}function Of(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=a+220|0;d=k[e>>2]|0;k[a+216>>2]=b;k[e>>2]=c;return d|0}function Pf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,l=0;l=r;r=r+16|0;if((r|0)>=(s|0))ka();f=l;if(d)k[d>>2]=-1;if(e)k[e>>2]=-1;if(c>>>0>3)b=21;else{if((b|0)!=0?(i[b>>0]|0)!=0:0){g=_h(a,b)|0;if((g|0)<0){k[f>>2]=b;zg(a,1,10952,f);b=1}else h=10}else{g=10;h=10}do if((h|0)==10){k[a+452>>2]=0;b=$h(a,g,c,d,e)|0;k[a+52>>2]=b;f=k[a+236>>2]|0;if(f){g=f+8|0;if(!(j[g>>1]&9312)){j[g>>1]=1;break}else{Ag(f);break}}}while(0);b=Tg(a,b)|0}r=l;return b|0}function Qf(a,b){a=a|0;b=b|0;return Pf(a,b,0,0,0)|0}function Rf(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;if((r|0)>=(s|0))ka();e=g;do if(a){b=k[a+76>>2]|0;if(!((b|0)==1266094736|(b|0)==-1607883113|(b|0)==-264537850)){k[e>>2]=15248;gd(21,15256,e);b=11008;break}f=a+65|0;if(!(i[f>>0]|0)){d=a+236|0;b=Xg(k[d>>2]|0,2)|0;if(!b){c=k[a+52>>2]|0;if((c|0)!=516){b=c&255;if(b>>>0>26|(b|0)==2)b=16328;else b=k[15488+(b<<2)>>2]|0}else b=16344;zg(a,c,b,e);b=Xg(k[d>>2]|0,2)|0}i[f>>0]=0}else b=10976}else b=10976;while(0);r=g;return b|0}function Sf(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;if((r|0)>=(s|0))ka();b=c;do if(a){d=k[a+76>>2]|0;if(!((d|0)==1266094736|(d|0)==-1607883113|(d|0)==-264537850)){k[b>>2]=15248;gd(21,15256,b);k[b>>2]=129704;k[b+4>>2]=10788;gd(21,13648,b);a=21;break}if(!(i[a+65>>0]|0))a=k[a+56>>2]&k[a+52>>2];else a=7}else a=7;while(0);r=c;return a|0}function Tf(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;if((r|0)>=(s|0))ka();b=c;do if(a){d=k[a+76>>2]|0;if(!((d|0)==1266094736|(d|0)==-1607883113|(d|0)==-264537850)){k[b>>2]=15248;gd(21,15256,b);k[b>>2]=129713;k[b+4>>2]=10788;gd(21,13648,b);a=21;break}if(!(i[a+65>>0]|0))a=k[a+52>>2]|0;else a=7}else a=7;while(0);r=c;return a|0}function Uf(a){a=a|0;if((a|0)!=516){a=a&255;if(a>>>0>26|(a|0)==2)a=16328;else a=k[15488+(a<<2)>>2]|0}else a=16344;return a|0}function Vf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(b>>>0<=11){d=a+(b<<2)+88|0;a=k[d>>2]|0;if((c|0)>-1){b=k[11088+(b<<2)>>2]|0;k[d>>2]=(b|0)<(c|0)?b:c}}else a=-1;return a|0}function Wf(a,b){a=a|0;b=b|0;return ai(a,b,6,0)|0}function Xf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ai(a,b,c,d)|0}function Yf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;k[b>>2]=0;c=Qc()|0;if(!c){e=vg(40,0)|0;if(e){a=(a|0)==0?11136:a;c=e+0|0;d=c+40|0;do{i[c>>0]=0;c=c+1|0}while((c|0)<(d|0));j[e+8>>1]=1;k[e+32>>2]=0;ah(e,a,-1,2,0)|0}a=Xg(e,1)|0;if(a){c=ai(a,b,6,0)|0;if(!c){c=k[b>>2]|0;a=k[(k[c+16>>2]|0)+12>>2]|0;if(!(j[a+78>>1]&1)){i[c+62>>0]=2;i[a+77>>0]=2;c=0}else c=0}}else c=7;Rh(e);c=c&255}return c|0}function Zf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Tg(a,bi(a,b,c&255,d,e,0)|0)|0}function _f(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Tg(a,bi(a,b,c&255,d,e,f)|0)|0}function $f(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;b=Wh(a,b,-1)|0;if(!b)b=0;else{c=bi(a,b,c&255,d,e,0)|0;rg(a,b);b=c}return Tg(a,b)|0}function ag(a,b,c){a=a|0;b=b|0;c=c|0;k[a+224>>2]=c;k[a+228>>2]=0;k[a+232>>2]=b;return 0}function bg(a,b,c){a=a|0;b=b|0;c=c|0;k[a+224>>2]=0;k[a+228>>2]=c;k[a+232>>2]=b;return 0}function cg(a){a=a|0;return l[a+63>>0]|0|0}function dg(){return}function eg(a,b,c,d,e,f,g,h,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=r;r=r+16|0;if((r|0)>=(s|0))ka();x=z;y=z+8|0;k[y>>2]=0;n=k[a+20>>2]|0;if((n|0)>0){m=k[a+16>>2]|0;p=0;do{o=k[m+(p<<4)+4>>2]|0;if(o)k[(k[o+4>>2]|0)+4>>2]=k[o>>2];p=p+1|0}while((p|0)!=(n|0))}m=ci(a,y)|0;w=(m|0)!=0;a:do if((!w?(u=di(a,c,b)|0,(u|0)!=0):0)?(k[u+12>>2]|0)==0:0){do if(d){t=j[u+38>>1]|0;b:do if(t<<16>>16>0){b=k[u+4>>2]|0;n=t<<16>>16;q=0;while(1){o=b+(q*24|0)|0;p=q+1|0;if(!(id(k[o>>2]|0,d)|0)){p=q;break b}if((p|0)<(n|0))q=p;else break}}else{p=0;o=0}while(0);if((p|0)==(t<<16>>16|0)){if(i[u+44>>0]&32){b=0;t=0;u=0;o=0;q=0;p=0;break a}if(!(ei(d)|0)){b=0;t=0;u=0;o=0;q=0;p=0;break a}v=j[u+36>>1]|0;n=v<<16>>16;if(v<<16>>16<=-1){b=0;q=0;n=1;v=0;p=11144;break}p=n;o=(k[u+4>>2]|0)+(n*24|0)|0}if(o){if((j[u+36>>1]|0)==(p|0))n=(i[u+44>>0]&8)!=0;else n=0;b=n&1;q=(i[o+20>>0]|0)!=0&1;n=i[o+23>>0]&1;v=k[o+16>>2]|0;p=k[o+12>>2]|0}else{b=0;q=0;n=1;v=0;p=11144}}else{b=0;q=0;n=1;v=0;p=11144}while(0);t=q;o=n;q=(v|0)==0?11152:v}else{b=0;t=0;u=0;o=0;q=0;p=0}while(0);if(e)k[e>>2]=p;if(f)k[f>>2]=q;if(g)k[g>>2]=t;if(h)k[h>>2]=o;if(l)k[l>>2]=b;n=k[y>>2]|0;if(!(w|(u|0)!=0)){rg(a,n);k[x>>2]=c;k[x+4>>2]=d;n=zh(a,11160,x)|0;k[y>>2]=n;m=1}k[x>>2]=n;zg(a,m,(n|0)!=0?10344:0,x);rg(a,k[y>>2]|0);w=Tg(a,m)|0;r=z;return w|0}function fg(a){a=a|0;var b=0;if((Qc()|0)==0?(b=k[2254]|0,(b|0)!=0):0)a=(wc[k[b+60>>2]&127](b,a*1e3|0)|0)/1e3|0;else a=0;return a|0}function gg(a,b){a=a|0;b=b|0;k[a+56>>2]=(b|0)!=0?-1:255;return 0}function hg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;b=fi(a,b)|0;do if(b){a=k[b+4>>2]|0;k[a+4>>2]=k[b>>2];a=k[(k[a>>2]|0)+60>>2]|0;if((c|0)==7){k[d>>2]=a;b=0;break}b=k[a>>2]|0;if(!b)b=12;else b=fc[k[b+40>>2]&63](a,c,d)|0}else b=1;while(0);return b|0}function ig(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0;o=r;r=r+32|0;if((r|0)>=(s|0))ka();n=o+24|0;d=o+8|0;c=o;k[d>>2]=b;do switch(a|0){case 8:{m=k[d>>2]|0;h=k[m>>2]|0;k[d>>2]=m+4;m=k[d>>2]|0;e=k[m>>2]|0;k[d>>2]=m+4;m=vg(512,0)|0;c=(m|0)==0;if(!c){kw(m|0,0,512)|0;k[m>>2]=h}a=((h+7|0)/8|0)+1|0;g=vg(a,((a|0)<0)<<31>>31)|0;b=(g|0)==0;if(!b)kw(g|0,0,a|0)|0;f=Yc(512)|0;a:do if(!(c|b|(f|0)==0)){d=0;while(1){c=k[e+(d<<2)>>2]|0;if((c|0)==5|(c|0)==2|(c|0)==1){b=e+(d+2<<2)|0;p=k[b>>2]|0;a=p+-1|0;k[n>>2]=a;k[b>>2]=(k[e+(d+3<<2)>>2]|0)+p;b=4}else if(!c)break;else{hd(4,n);a=k[n>>2]|0;b=2}q=e+((d|1)<<2)|0;p=(k[q>>2]|0)+-1|0;k[q>>2]=p;d=((p|0)>0?0:b)+d|0;a=(a&2147483647|0)%(h|0)|0;k[n>>2]=a;a=a+1|0;b=1<<(a&7);if(!(c&1)){a=g+(a>>>3)|0;i[a>>0]=l[a>>0]&(b^255);hi(m,(k[n>>2]|0)+1|0,f);continue}a=g+(a>>>3)|0;i[a>>0]=l[a>>0]|b;if((c|0)==5)continue;if(gi(m,(k[n>>2]|0)+1|0)|0){c=-1;break a}}e=ii(m,h+1|0)|0;a=ii(m,0)|0;a=e-h+a+(k[m>>2]|0)|0;k[n>>2]=1;if((h|0)<1)c=a;else{b=1;while(1){e=(l[g+(b>>3)>>0]&1<<(b&7)|0)!=0&1;c=b;b=b+1|0;if((e|0)!=(ii(m,c)|0))break a;k[n>>2]=b;if((c|0)>=(h|0)){c=a;break}}}}else c=-1;while(0);$c(f);$c(g);ji(m);break}case 11:{c=k[2514]|0;n=k[d>>2]|0;b=k[n>>2]|0;k[d>>2]=n+4;if(b)k[2514]=b;break}case 12:{k[c>>2]=0;c=k[c>>2]|0;break}case 13:{n=k[d>>2]|0;c=k[n>>2]|0;k[d>>2]=n+4;break}case 22:{c=10;break}case 5:{pw(12672,9064,259)|0;c=0;break}case 6:{pw(9064,12672,259)|0;c=0;break}case 7:{if(!(Qc()|0)){i[9064]=0;c=0}else c=0;break}case 14:{m=k[d>>2]|0;n=k[m>>2]|0;k[d>>2]=m+4;m=k[d>>2]|0;c=k[m>>2]|0;k[d>>2]=m+4;Cg(k[(k[n+16>>2]|0)+4>>2]|0,0,c,0)|0;c=0;break}case 15:{m=k[d>>2]|0;c=k[m>>2]|0;k[d>>2]=m+4;m=k[d>>2]|0;n=k[m>>2]|0;k[d>>2]=m+4;j[c+60>>1]=n;c=0;break}case 16:{n=k[d>>2]|0;a=k[n>>2]|0;k[d>>2]=n+4;if(!a)c=0;else{c=a;while(1)if(!(i[c>>0]|0))break;else c=c+1|0;c=c-a&1073741823}c=(ki(a,c)|0)!=27;c=c?124:0;break}case 24:{m=k[d>>2]|0;c=k[m>>2]|0;k[d>>2]=m+4;m=k[d>>2]|0;n=k[m>>2]|0;k[d>>2]=m+4;k[c+136>>2]=n;c=0;break}case 23:{c=(k[2243]|0)==0&1;break}case 25:{h=k[d>>2]|0;c=k[h>>2]|0;k[d>>2]=h+4;h=k[d>>2]|0;m=k[h>>2]|0;k[d>>2]=h+4;m=(_h(c,m)|0)&255;i[c+144>>0]=m;m=k[d>>2]|0;h=k[m>>2]|0;k[d>>2]=m+4;h=h&255;i[c+147>>0]=h;m=c+145|0;i[m>>0]=h;h=k[d>>2]|0;n=k[h>>2]|0;k[d>>2]=h+4;k[c+140>>2]=n;if((i[m>>0]|0)==0&(n|0)>0){Jg(c);c=0}else c=0;break}case 17:{n=k[d>>2]|0;b=k[n>>2]|0;k[d>>2]=n+4;n=k[d>>2]|0;c=k[n>>2]|0;k[d>>2]=n+4;n=k[d>>2]|0;a=k[n>>2]|0;k[d>>2]=n+4;if(b){n=li(b)|0;k[c>>2]=n}mi(a);c=0;break}case 18:{n=k[d>>2]|0;c=k[n>>2]|0;k[d>>2]=n+4;k[2253]=c;c=0;break}case 20:{n=k[d>>2]|0;c=k[n>>2]|0;k[d>>2]=n+4;k[2192]=c;c=0;break}case 9:{n=k[d>>2]|0;c=k[n>>2]|0;k[d>>2]=n+4;k[2252]=c;if(!c)c=0;else c=qc[c&127](0)|0;break}case 10:{m=k[d>>2]|0;n=k[m>>2]|0;k[d>>2]=m+4;m=k[d>>2]|0;c=k[m>>2]|0;k[d>>2]=m+4;k[3164]=n;k[3166]=c;c=0;break}default:c=0}while(0);r=o;return c|0}function jg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;a:do if(!((a|0)==0|(b|0)==0)){c=a;while(1)if(!(i[c>>0]|0))break;else c=c+1|0;d=(c-a&1073741823)+1|0;c=i[a+d>>0]|0;if(c<<24>>24){f=a+d|0;while(1){e=dw(f,b)|0;d=f;while(1){a=d+1|0;if(!(c<<24>>24))break;c=i[a>>0]|0;d=a}a=d-f&1073741823;c=f+(a+1)|0;if(!e)break a;else d=c;while(1)if(!(i[d>>0]|0))break;else d=d+1|0;f=f+(a+2+(d-c&1073741823))|0;c=i[f>>0]|0;if(!(c<<24>>24)){c=0;break}}}else c=0}else c=0;while(0);return c|0}function kg(a,b,c){a=a|0;b=b|0;c=c|0;a=jg(a,b)|0;b=(c|0)!=0;if(a)b=(ni(a,1,b&1)|0)<<24>>24!=0;return b&1|0}function lg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;f=r;r=r+16|0;if((r|0)>=(s|0))ka();e=f;a=jg(a,b)|0;if(!a){L=d;r=f;return c|0}else{b=(oi(a,e)|0)==0;a=e;L=b?k[a+4>>2]|0:d;r=f;return (b?k[a>>2]|0:c)|0}return 0}function mg(a,b){a=a|0;b=b|0;a=fi(a,b)|0;if(a){a=k[k[a+4>>2]>>2]|0;if(!(i[a+15>>0]|0))a=k[a+168>>2]|0;else a=10360}else a=0;return a|0}function ng(a,b){a=a|0;b=b|0;a=fi(a,b)|0;if(!a)a=-1;else a=j[(k[a+4>>2]|0)+22>>1]&1;return a|0}function og(a,b){a=a|0;b=b|0;if(b){Kk(a,k[b+28>>2]|0);rg(a,k[b>>2]|0);rg(a,k[b+4>>2]|0);Lk(a,k[b+12>>2]|0);Mk(a,k[b+16>>2]|0);rg(a,b)}return}function pg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0;do if(b){f=(a|0)!=0;if(!(f?(k[a+520>>2]|0)!=0:0))c=4;if((c|0)==4?(d=b+40|0,c=(j[d>>1]|0)+-1<<16>>16,j[d>>1]=c,c<<16>>16!=0):0)break;c=k[b+8>>2]|0;if(c){e=a+520|0;do{d=c;c=k[c+20>>2]|0;if(!(f?(k[e>>2]|0)!=0:0))Nk((k[d+24>>2]|0)+24|0,k[d>>2]|0,0)|0;Ok(a,d)}while((c|0)!=0)}c=k[b+16>>2]|0;if(c){h=(a|0)==0;i=b+68|0;l=a+520|0;do{if(!(!h?(k[l>>2]|0)!=0:0)){d=c+16|0;g=k[d>>2]|0;f=c+12|0;e=k[f>>2]|0;if(!g)Nk((k[i>>2]|0)+56|0,k[((e|0)==0?c:e)+8>>2]|0,e)|0;else k[g+12>>2]=e;f=k[f>>2]|0;if(f)k[f+16>>2]=k[d>>2]}Pk(a,k[c+28>>2]|0);Pk(a,k[c+32>>2]|0);d=c;c=k[c+4>>2]|0;rg(a,d)}while((c|0)!=0)}Qk(a,b);rg(a,k[b>>2]|0);rg(a,k[b+20>>2]|0);Rk(a,k[b+12>>2]|0,1);Sk(a,k[b+24>>2]|0);if(!((a|0)!=0?(k[a+520>>2]|0)!=0:0))Tk(0,b)|0;f=b+56|0;c=k[f>>2]|0;if(c){g=b+52|0;d=k[g>>2]|0;if((d|0)>0){e=0;do{if((e|0)!=1){rg(a,k[(k[f>>2]|0)+(e<<2)>>2]|0);d=k[g>>2]|0}e=e+1|0}while((e|0)<(d|0));c=k[f>>2]|0}rg(a,c)}rg(a,b)}while(0);return}function qg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;hh(k[b+60>>2]|0,j[b+68>>1]|0);e=b+16|0;hh(k[e>>2]|0,m[b+84>>1]<<1);c=k[b+192>>2]|0;if(c)do{d=c;c=k[c+24>>2]|0;Uk(a,k[d>>2]|0,k[d+4>>2]|0);rg(a,d)}while((c|0)!=0);c=j[b+70>>1]|0;if(c<<16>>16>0){d=b+64|0;c=c<<16>>16;do{c=c+-1|0;rg(a,k[(k[d>>2]|0)+(c<<2)>>2]|0)}while((c|0)>0)}Uk(a,k[b+4>>2]|0,k[b+32>>2]|0);rg(a,k[e>>2]|0);rg(a,k[b+168>>2]|0);rg(a,k[b+172>>2]|0);return}function rg(a,b){a=a|0;b=b|0;var c=0;do if(b){if(a){if(k[a+520>>2]|0){Vk(a,b);break}if((k[a+276>>2]|0)>>>0<=b>>>0?(k[a+280>>2]|0)>>>0>b>>>0:0){c=a+272|0;k[b>>2]=k[c>>2];k[c>>2]=b;a=a+252|0;k[a>>2]=(k[a>>2]|0)+-1;break}}$c(b)}while(0);return}function sg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=k[b+24>>2]|0;if(!e)c=0;else{c=e;while(1)if(!(i[c>>0]|0))break;else c=c+1|0;c=c-e&1073741823}d=(((l[9328+(l[e>>0]|0)>>0]|0)+c|0)>>>0)%23|0;c=Wk(a,d,e,c)|0;if(!c){k[b+8>>2]=0;c=a+(d<<2)|0;k[b+28>>2]=k[c>>2];k[c>>2]=b}else{c=c+8|0;k[b+8>>2]=k[c>>2];k[c>>2]=b}return}function tg(a){a=a|0;var b=0,c=0;do if(a){b=k[2254]|0;if((b|0)==(a|0)){k[2254]=k[a+12>>2];break}if(b){do{c=b+12|0;b=k[c>>2]|0}while((b|0)!=(a|0)&(b|0)!=0);if((b|0)==(a|0))k[c>>2]=k[a+12>>2]}}while(0);return}function ug(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return}function vg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;b=ow(a|0,b|0,-1,-1)|0;c=L;do if(!(c>>>0>0|(c|0)==0&b>>>0>2147483390)){if(!(k[2186]|0)){b=qc[k[8744+36>>2]&127](a)|0;break}c=qc[k[8744+52>>2]&127](a)|0;k[2171]=a;if((k[2181]|0)>>>0<a>>>0)k[2181]=a;a=k[2260]|0;do if(a){b=k[2166]|0;d=9032|0;d=iw(k[d>>2]|0,k[d+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;e=L;if(0<(e|0)|0==(e|0)&b>>>0<d>>>0){k[2265]=0;break}else{k[2265]=1;d=k[2261]|0;k[2260]=0;vc[a&15](d,b,0,c);k[2260]=a;k[2261]=d;break}}while(0);b=qc[k[8744+36>>2]&127](c)|0;if(b){a=qc[k[8744+48>>2]&127](b)|0;a=(k[2166]|0)+a|0;k[2166]=a;if(a>>>0>(k[2176]|0)>>>0)k[2176]=a;a=(k[2175]|0)+1|0;k[2175]=a;if(a>>>0>(k[2185]|0)>>>0)k[2185]=a}else b=0}else b=0;while(0);return b|0}function wg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;do if(a){if((b|0)==0&(c|0)==0){$c(a);d=0;break}if(!(c>>>0>0|(c|0)==0&b>>>0>2147483391)){g=qc[k[8744+48>>2]&127](a)|0;f=qc[k[8744+52>>2]&127](b)|0;if((f|0)!=(g|0)){if(!(k[2186]|0)){d=wc[k[8744+44>>2]&127](a,f)|0;break}k[2171]=b;if((k[2181]|0)>>>0<b>>>0)k[2181]=b;c=f-g|0;d=k[2166]|0;h=9032|0;h=iw(k[h>>2]|0,k[h+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;i=L;if(!(0<(i|0)|0==(i|0)&d>>>0<h>>>0)?(e=k[2260]|0,(e|0)!=0):0){h=k[2261]|0;k[2260]=0;vc[e&15](h,d,0,c);k[2260]=e;k[2261]=h}d=wc[k[8744+44>>2]&127](a,f)|0;c=k[2260]|0;if((d|0)==0&(c|0)!=0){e=k[2166]|0;d=k[2261]|0;k[2260]=0;vc[c&15](d,e,0,b);k[2260]=c;k[2261]=d;d=wc[k[8744+44>>2]&127](a,f)|0}if(d){c=(qc[k[8744+48>>2]&127](d)|0)-g|0;c=(k[2166]|0)+c|0;k[2166]=c;if(c>>>0>(k[2176]|0)>>>0)k[2176]=c}else d=0}else d=a}else d=0}else d=vg(b,c)|0;while(0);return d|0}function xg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0.0,n=0.0,o=0,q=0.0,u=0.0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;Y=r;r=r+96|0;if((r|0)>=(s|0))ka();W=Y+8|0;X=Y;V=Y+16|0;if(!b){e=0;f=0;Q=0}else{e=b&2;if(!e)f=0;else{F=k[d>>2]|0;f=k[F>>2]|0;k[d>>2]=F+4}e=e&255;Q=(b&1|0)!=0}P=e<<24>>24==0;M=e<<24>>24!=0;N=f+4|0;O=f+8|0;K=a+12|0;e=0;a:while(1){b=i[c>>0]|0;if(b<<24>>24==37){b=c;c=e}else if(b<<24>>24){b=c;do{b=b+1|0;F=i[b>>0]|0}while(!(F<<24>>24==37|F<<24>>24==0));Xk(a,c,b-c|0);if(!(i[b>>0]|0))break}else break;e=b+1|0;g=i[e>>0]|0;if(!(g<<24>>24)){R=10;break}h=g<<24>>24;o=0;j=0;v=0;g=0;x=0;y=0;b:while(1){switch(h|0){case 45:{w=j;g=1;break}case 32:{w=j;v=1;break}case 35:{o=1;w=j;break}case 33:{w=1;break}case 48:{w=j;y=1;break}case 43:{w=j;x=1;break}default:{z=o;w=j;break b}}j=b+2|0;F=i[j>>0]|0;h=F<<24>>24;if(!(F<<24>>24)){e=j;z=o;break}else{b=e;e=j;j=w}}if((h|0)!=42)if((h+-48|0)>>>0<10){j=0;do{j=h+-48+(j*10|0)|0;e=e+1|0;h=i[e>>0]|0}while((h+-48|0)>>>0<10);J=g;I=j&2147483647}else{J=g;I=0}else{if(P){F=k[d>>2]|0;j=k[F>>2]|0;k[d>>2]=F+4}else j=Yk(f)|0;if((j|0)<0){g=1;j=(j|0)==-2147483648?0:0-j|0}h=e+1|0;e=h;h=i[h>>0]|0;J=g;I=j}do if((h|0)==46){j=e+1|0;g=i[j>>0]|0;if(g<<24>>24!=42){h=g<<24>>24;if((g+-48&255)<10)g=0;else{e=j;C=0;break}while(1){g=h+-48+(g*10|0)|0;e=e+2|0;F=i[e>>0]|0;h=F<<24>>24;if((F+-48&255)<10){F=j;j=e;e=F}else break}C=g&2147483647;break}if(P){F=k[d>>2]|0;j=k[F>>2]|0;k[d>>2]=F+4}else j=Yk(f)|0;e=e+2|0;h=i[e>>0]|0;if((j|0)<0)C=(j|0)==-2147483648?-1:0-j|0;else C=j}else C=-1;while(0);do if((h|0)==108){j=e+1|0;h=i[j>>0]|0;if(h<<24>>24==108){h=e+2|0;e=h;h=i[h>>0]|0;j=1;break}else{e=j;h=h<<24>>24;j=0;break}}else j=0;while(0);o=0;while(1){g=48752+(o*6|0)|0;if((h|0)==(i[g>>0]|0)){h=g;g=o;R=46;break}o=o+1|0;if((o|0)>=23){H=48752;F=0;break}}if((R|0)==46){R=0;if(!(Q|g>>>0<20))break;H=h;F=i[48755+(g*6|0)>>0]|0}c:do switch(F&255|0){case 14:{j=0;R=50;break}case 1:case 16:{R=50;break}case 13:{j=k[d>>2]|0;b=k[j>>2]|0;k[d>>2]=j+4;j=k[d>>2]|0;h=k[j>>2]|0;k[d>>2]=j+4;j=k[b+(h*72|0)+12>>2]|0;if(j){g=j;while(1)if(!(i[g>>0]|0))break;else g=g+1|0;Xk(a,j,g-j&1073741823);Xk(a,28928,1)}g=k[b+(h*72|0)+16>>2]|0;if(!g)b=0;else{b=g;while(1)if(!(i[b>>0]|0))break;else b=b+1|0;b=b-g&1073741823}Xk(a,g,b);v=c;h=0;b=0;j=0;break}case 4:case 3:case 2:{do if(!P){j=k[N>>2]|0;if((k[f>>2]|0)>(j|0)){k[N>>2]=j+1;m=+Zg(k[(k[O>>2]|0)+(j<<2)>>2]|0);R=92;break}else{j=(C|0)<0?6:C;m=0.0;R=94;break}}else{R=k[d>>2]|0;k[t>>2]=k[R>>2];k[t+4>>2]=k[R+4>>2];m=+p[t>>3];k[d>>2]=R+8;R=92}while(0);if((R|0)==92){R=0;j=(C|0)<0?6:C;if(m<0.0){m=-m;G=45}else R=94}if((R|0)==94){R=0;if(!(x<<24>>24))G=v<<24>>24==0?0:32;else G=43}C=F<<24>>24==4;g=((C&(j|0)>0)<<31>>31)+j|0;j=g&4095;if(!j)n=.5;else{n=.5;do{j=j+-1|0;n=n*.1}while((j|0)>0)}B=F<<24>>24==2;if(B)m=m+n;p[W>>3]=m;p[X>>3]=+p[W>>3];if(+p[W>>3]!=+p[X>>3]){v=48960;h=3;b=I;j=0}else{if(m>0.0){o=0;q=1.0;while(1){u=q*1.e+100;if(m>=u&(o|0)<351){o=o+100|0;q=u}else break}while(1){u=q*1.e+64;if(m>=u&(o|0)<351){o=o+64|0;q=u}else break}while(1){u=q*1.0e8;if(m>=u&(o|0)<351){o=o+8|0;q=u}else break}while(1){u=q*10.0;if((o|0)<351&m>=u){o=o+1|0;q=u}else break}m=m/q;if(m<1.0e-08)do{m=m*1.0e8;o=o+-8|0}while(m<1.0e-08);if(m<1.0)do{m=m*10.0;o=o+-1|0}while(m<1.0);if((o|0)>350){if(G<<24>>24==43)g=48976;else if(G<<24>>24==45)g=48968;else g=48984;c=g;while(1)if(!(i[c>>0]|0))break;else c=c+1|0;v=g;h=c-g&1073741823;b=I;j=0;break c}}else o=0;if(!B){m=n+m;if(!(m>=10.0))E=o;else{m=m*.1;E=o+1|0}}else E=o;if(C){j=(E|0)<-4|(g|0)<(E|0);C=z<<24>>24==0&1;g=g-(j?0:E)|0;j=j?3:2}else{C=w;j=F}D=j<<24>>24==3;c=D?0:E;o=(c|0)>0;j=ow(g|0,((g|0)<0)<<31>>31|0,I|0,((I|0)<0)<<31>>31|0)|0;o=ow(j|0,L|0,(o?c:0)|0,(o?((c|0)<0)<<31>>31:0)|0)|0;j=L;if((j|0)>0|(j|0)==0&o>>>0>55){o=ow(o|0,j|0,15,0)|0;o=vg(o,L)|0;if(!o){R=124;break a}else{v=o;F=o}}else{v=V;F=0}o=((w&255)*10|0)+16|0;A=(w|z)&255|(g|0)>0;if(!(G<<24>>24))B=v;else{i[v>>0]=G;B=v+1|0}if((c|0)<0){i[B>>0]=48;b=2;j=B+1|0;x=c}else{z=~c;z=(z|0)>-1?z:-1;x=-2-z|0;z=c+z|0;h=B;while(1){if((o|0)<1)b=48;else{j=~~m;b=j+48&255;m=(m-+(j|0))*10.0;o=o+-1|0}i[h>>0]=b;if((c|0)>0){h=h+1|0;c=c+-1|0}else break}b=z+3|0;j=B+(z+2)|0}h=(A|0)==0;if(!h){i[j>>0]=46;j=B+b|0}if((x+1|0)<0){kw(j|0,48,~x|0)|0;j=j+~x|0;g=g+1+x|0}if((g|0)>0){b=j;c=g;while(1){c=c+-1|0;if((o|0)<1)x=48;else{B=~~m;x=B+48&255;m=(m-+(B|0))*10.0;o=o+-1|0}i[b>>0]=x;if((c|0)<=0)break;else b=b+1|0}j=j+g|0}d:do if(!(C<<24>>24==0|h)){h=j;while(1){j=h+-1|0;g=i[j>>0]|0;if(g<<24>>24==46)break;else if(g<<24>>24!=48){j=h;break d}i[j>>0]=0;h=j}if(!(w<<24>>24)){i[j>>0]=0;break}else{i[h>>0]=48;j=h+1|0;break}}while(0);if(D){h=j+1|0;i[j>>0]=i[48912+(l[H+4>>0]|0)>>0]|0;g=j+2|0;if((E|0)<0){i[h>>0]=45;h=0-E|0}else{i[h>>0]=43;h=E}if((h|0)>99){i[g>>0]=((h|0)/100|0)+48;c=4;b=5;g=j+3|0;h=(h|0)%100|0}else{c=3;b=4}i[g>>0]=((h|0)/10|0)+48;i[j+c>>0]=((h|0)%10|0)+48;j=j+b|0}i[j>>0]=0;b=v;h=j-b|0;if(!(J<<24>>24==0&y<<24>>24!=0&(I|0)>(h|0))){b=I;j=F;break c}g=I-h|0;if((h|0)>=0){c=I;while(1){i[v+c>>0]=i[v+(c-g)>>0]|0;if((c|0)>(g|0))c=c+-1|0;else break}}if((I|0)==(h|0)){h=I;b=I;j=F;break c}kw(v+(G<<24>>24!=0&1)|0,48,I+b-j|0)|0;h=I;b=I;j=F}break}case 5:{if(P){h=k[K>>2]|0;b=k[d>>2]|0;v=k[b>>2]|0;k[d>>2]=b+4;k[v>>2]=h;v=c;h=0;b=0;j=0}else{v=c;h=0;b=0;j=0}break}case 8:{i[V>>0]=37;v=V;h=1;b=I;j=0;break}case 9:{if(!P){b=Zk(f)|0;if(!b)j=0;else j=i[b>>0]|0}else{F=k[d>>2]|0;j=k[F>>2]|0;k[d>>2]=F+4}if((C|0)>1){g=C+-1|0;b=I-g|0;if(!((b|0)<2|J<<24>>24!=0)){_k(a,b+-1|0,32);b=0}c=j&255;_k(a,g,c)}else{c=j&255;b=I}i[V>>0]=c;v=V;h=1;j=0;break}case 7:case 6:{if(M)g=Zk(f)|0;else{E=k[d>>2]|0;g=k[E>>2]|0;k[d>>2]=E+4}if(!g){c=10360;j=0}else{c=g;j=F<<24>>24!=7|M?0:g}if((C|0)>-1){if((C|0)>0)g=0;else{v=c;h=0;b=I;break c}while(1){h=g+1|0;if(!(i[c+g>>0]|0)){v=c;h=g;b=I;break c}if((h|0)<(C|0))g=h;else{v=c;b=I;break}}}else{if(!c){v=0;h=0;b=I;break c}else g=c;while(1)if(!(i[g>>0]|0))break;else g=g+1|0;v=c;h=g-c&1073741823;b=I;break c}break}case 15:case 11:case 10:{z=F<<24>>24==15?34:39;if(P){E=k[d>>2]|0;j=k[E>>2]|0;k[d>>2]=E+4}else j=Zk(f)|0;v=(j|0)==0;if(v)j=F<<24>>24==11?20304:48992;e:do if(!C){y=0;h=0}else{o=z&255;g=0;b=C;h=0;while(1){c=i[j+g>>0]|0;if(!(c<<24>>24)){y=g;break e}h=((c<<24>>24|0)==(o|0)&1)+h|0;g=g+1|0;b=b+-1|0;if(!b){y=g;break}}}while(0);w=F<<24>>24==11&(v^1);g=((w&1)<<1|1)+y+h|0;if((g|0)>70){h=vg(g,((g|0)<0)<<31>>31)|0;if(!h){R=197;break a}else{v=h;x=h}}else{v=V;x=0}if(w){i[v>>0]=z;g=1}else g=0;if((y|0)>0){o=z&255;b=0;do{h=i[j+b>>0]|0;c=g+1|0;i[v+g>>0]=h;if((h<<24>>24|0)==(o|0)){i[v+c>>0]=h;g=g+2|0}else g=c;b=b+1|0}while((b|0)!=(y|0))}if(w){i[v+g>>0]=z;g=g+1|0}i[v+g>>0]=0;h=g;b=I;j=x;break}case 12:{F=k[d>>2]|0;b=k[F>>2]|0;k[d>>2]=F+4;if((b|0)!=0?(U=k[b+4>>2]|0,(U|0)!=0):0){Xk(a,k[b>>2]|0,U);v=c;h=0;b=0;j=0}else{v=c;h=0;b=0;j=0}break}default:break a}while(0);if((R|0)==50){R=0;do if(!(i[H+2>>0]&1)){if(M){c=Yk(f)|0;o=L;B=0;break}if(!(j<<24>>24)){o=k[d>>2]|0;c=k[o>>2]|0;k[d>>2]=o+4;o=0;B=0;break}else{B=k[d>>2]|0;o=B;c=k[o>>2]|0;o=k[o+4>>2]|0;k[d>>2]=B+8;B=0;break}}else{do if(!M)if(!(j<<24>>24)){h=k[d>>2]|0;j=k[h>>2]|0;k[d>>2]=h+4;h=((j|0)<0)<<31>>31;break}else{E=k[d>>2]|0;h=E;j=k[h>>2]|0;h=k[h+4>>2]|0;k[d>>2]=E+8;break}else{j=Yk(f)|0;h=L}while(0);if((h|0)<0){c=iw(0,0,j|0,h|0)|0;o=L;B=45;break}if(!(x<<24>>24)){c=j;o=h;B=v<<24>>24==0?0:32}else{c=j;o=h;B=43}}while(0);A=(c|0)==0&(o|0)==0;if(!(y<<24>>24))x=C;else{x=I-(B<<24>>24!=0&1)|0;x=(C|0)<(x|0)?x:C}if((x|0)>=60){j=x+10|0;h=vg(j,((j|0)<0)<<31>>31)|0;if(!h){R=69;break}else{b=j;j=h;g=h}}else{b=70;j=0;g=V}y=g+(b+-1)|0;if(F<<24>>24==16){h=zw(c|0,o|0,10,0)|0;if(!(h>>>0<=3?(F=yw(c|0,o|0,10,0)|0,F=zw(F|0,L|0,10,0)|0,!((F|0)==1&(L|0)==0)):0))h=0;F=h<<1;i[g+(b+-2)>>0]=i[48896+(F|1)>>0]|0;h=g+(b+-3)|0;i[h>>0]=i[48896+F>>0]|0}else h=y;b=l[H+4>>0]|0;v=l[H+1>>0]|0;while(1){F=zw(c|0,o|0,v|0,0)|0;g=h+-1|0;i[g>>0]=i[48912+(F+b)>>0]|0;c=yw(c|0,o|0,v|0,0)|0;o=L;if((c|0)==0&(o|0)==0)break;else h=g}c=x-y+g|0;if((c|0)>0){b=h;h=g;while(1){g=b+-2|0;i[g>>0]=48;c=c+-1|0;if((c|0)<=0)break;else{b=h;h=g}}}if(B<<24>>24){g=h+-2|0;i[g>>0]=B}if((!(A|z<<24>>24==0)?(S=i[H+5>>0]|0,S<<24>>24!=0):0)?(T=48952+(S&255)|0,!(S<<24>>24==3|S<<24>>24==6)):0){c=i[T>>0]|0;h=T;do{g=g+-1|0;i[g>>0]=c;h=h+1|0;c=i[h>>0]|0}while(c<<24>>24!=0)}v=g;h=y-g|0;b=I}g=b-h|0;c=(g|0)<1;if(!(c|J<<24>>24!=0))_k(a,g,32);Xk(a,v,h);if(!(c|J<<24>>24==0))_k(a,g,32);if(j)$c(j);c=e+1|0;e=v}if((R|0)==10)Xk(a,48744,1);else if((R|0)==69){i[a+25>>0]=1;k[a+16>>2]=0}else if((R|0)==124){i[a+25>>0]=1;k[a+16>>2]=0}else if((R|0)==197){i[a+25>>0]=1;k[a+16>>2]=0}r=Y;return}function yg(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;d=a+8|0;b=k[d>>2]|0;do if(((b|0)!=0?(f=a+12|0,i[b+(k[f>>2]|0)>>0]=0,c=i[a+24>>0]|0,c<<24>>24!=0):0)?(e=a+4|0,(k[d>>2]|0)==(k[e>>2]|0)):0){if(c<<24>>24==1){b=(k[f>>2]|0)+1|0;b=rh(k[a>>2]|0,b,((b|0)<0)<<31>>31)|0}else b=Yc((k[f>>2]|0)+1|0)|0;k[d>>2]=b;if(!b){i[a+25>>0]=1;k[a+16>>2]=0;break}else{pw(b|0,k[e>>2]|0,(k[f>>2]|0)+1|0)|0;break}}while(0);return k[d>>2]|0}function zg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0;l=r;r=r+16|0;if((r|0)>=(s|0))ka();h=l;e=a+52|0;k[e>>2]=b;a:do if(!c){k[e>>2]=b;b=k[a+236>>2]|0;if(b){e=b+8|0;if(!(j[e>>1]&9312)){j[e>>1]=1;break}else{Ag(b);break}}}else{g=a+236|0;do if(!(k[g>>2]|0)){e=rh(a,40,0)|0;if(!e){k[g>>2]=e;break a}else{b=e+0|0;f=b+40|0;do{i[b>>0]=0;b=b+1|0}while((b|0)<(f|0));j[e+8>>1]=1;k[e+32>>2]=a;k[g>>2]=e;break}}while(0);k[h>>2]=d;e=$k(a,c,h)|0;b=k[g>>2]|0;if(b)ah(b,e,-1,1,75)|0}while(0);r=l;return}function Ag(a){a=a|0;var b=0,c=0;c=a+8|0;b=j[c>>1]|0;if(b&8192){bl(a,k[a>>2]|0)|0;b=j[c>>1]|0}b=b&65535;do if(!(b&1024)){if(b&32){cl(k[a>>2]|0);break}if(b&64){a=k[a>>2]|0;b=(k[a>>2]|0)+180|0;k[a+4>>2]=k[b>>2];k[b>>2]=a}}else hc[k[a+36>>2]&31](k[a+16>>2]|0);while(0);j[c>>1]=1;return}function Bg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;if((r|0)>=(s|0))ka();f=h;d=_h(b,c)|0;do if((d|0)==1){e=rh(a,536,0)|0;if(!e){zg(a,7,15776,f);d=0;break}kw(e|0,0,536)|0;k[e>>2]=b;if(!(dl(e)|0)){rg(a,k[e+4>>2]|0);Hh(e);rg(a,e);g=7;break}else{b=k[e+12>>2]|0;d=e+4|0;k[f>>2]=k[d>>2];zg(a,b,10344,f);rg(a,k[d>>2]|0);Hh(e);rg(a,e);d=0;break}}else g=7;while(0);do if((g|0)==7)if((d|0)<0){k[f>>2]=c;zg(a,1,47448,f);d=0;break}else{d=k[(k[b+16>>2]|0)+(d<<4)+4>>2]|0;break}while(0);r=h;return d|0}function Cg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;h=k[a+4>>2]|0;k[h+4>>2]=k[a>>2];g=h+22|0;if(!(j[g>>1]&2)){if((c|0)<0)c=(k[h+32>>2]|0)-(k[h+36>>2]|0)|0;if(((b+-512|0)>>>0<65025?(b+-1&b|0)==0:0)?(k[h+32>>2]=b,e=h+80|0,f=k[e>>2]|0,(f|0)!=0):0){a=f+-4|0;k[e>>2]=a;el(a);k[e>>2]=0}e=h+32|0;a=fl(k[h>>2]|0,e,c)|0;k[h+36>>2]=(k[e>>2]|0)-(c&65535);if(d)j[g>>1]=m[g>>1]|0|2}else a=8;return a|0}function Dg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=r;r=r+16|0;if((r|0)>=(s|0))ka();K=Q;J=Q+12|0;I=Q+8|0;O=k[a+4>>2]|0;F=O+4|0;k[F>>2]=k[a>>2];L=a+8|0;e=i[L>>0]|0;do if(e<<24>>24!=2?(M=(b|0)!=0,e<<24>>24!=1|M):0){N=O+22|0;e=j[N>>1]|0;if(!((e&1)!=0&M)){if(M)if((i[O+20>>0]|0)!=2&(e&64)==0)P=8;else P=7;else if(!(e&64))P=8;else P=7;a:do if((P|0)==7){c=k[O+76>>2]|0;P=12}else if(((P|0)==8?(b|0)>1:0)?(d=k[O+72>>2]|0,(d|0)!=0):0)do{e=k[d>>2]|0;if((e|0)!=(a|0)){c=e;P=12;break a}d=k[d+12>>2]|0}while((d|0)!=0);while(0);if((P|0)==12?(k[c>>2]|0)!=0:0){c=262;break}c=gl(a,1,1)|0;if(!c){e=m[N>>1]|0;j[N>>1]=e&65527;H=O+44|0;if(!(k[H>>2]|0))j[N>>1]=e|8;B=O+12|0;p=O+32|0;q=O+36|0;t=O+17|0;u=O+18|0;v=O+80|0;w=O+24|0;x=O+26|0;y=O+28|0;z=O+30|0;A=O+21|0;C=O+20|0;D=(b|0)>1;c=0;b:while(1){c:do if(!(k[B>>2]|0)){c=hl(k[O>>2]|0)|0;if(!c){c=il(O,1,J,0)|0;if(!c){o=k[J>>2]|0;g=k[o+56>>2]|0;e=l[g+29>>0]<<16|l[g+28>>0]<<24|l[g+30>>0]<<8|l[g+31>>0];f=k[O>>2]|0;h=k[f+24>>2]|0;if((e|0)!=0?(cw(g+24|0,g+92|0,4)|0)==0:0)n=e;else n=h;d:do if((n|0)>0){e:do if(!(cw(g,44680,16)|0)){if((l[g+18>>0]|0)>2)j[N>>1]=m[N>>1]|1;e=i[g+19>>0]|0;if((e&255)<=2){do if(e<<24>>24==2){if(j[N>>1]&16)break;k[I>>2]=0;c=jl(f,I)|0;if(c){P=48;break e}if(k[I>>2]|0)break;if(!o){c=0;continue b}Gg(k[o+68>>2]|0);c=0;continue b}while(0);if(cw(g+21|0,47408,3)|0){c=26;P=48;break}d=l[g+17>>0]<<16|l[g+16>>0]<<8;if((d+16777215&d|0)!=0|d>>>0>65536|d>>>0<257){c=26;P=48;break}f=l[g+20>>0]|0;e=d-f|0;if((d|0)==(k[p>>2]|0)){if((n|0)>(h|0)?(k[(k[F>>2]|0)+24>>2]&65536|0)==0:0){k[K>>2]=55672;k[K+4>>2]=10788;gd(11,13600,K);c=11;P=48;break}if(e>>>0<480){c=26;P=48;break}k[p>>2]=d;k[q>>2]=e;i[t>>0]=(l[g+53>>0]<<16|l[g+52>>0]<<24|l[g+54>>0]<<8|l[g+55>>0]|0)!=0&1;i[u>>0]=(l[g+65>>0]<<16|l[g+64>>0]<<24|l[g+66>>0]<<8|l[g+67>>0]|0)!=0&1;break d}if(o)Gg(k[o+68>>2]|0);k[q>>2]=e;k[p>>2]=d;e=k[v>>2]|0;if(e){c=e+-4|0;k[v>>2]=c;el(c);k[v>>2]=0}c=fl(k[O>>2]|0,p,f)|0}else{c=26;P=48}}else{c=26;P=48}while(0);if((P|0)==48){P=0;if(o)Gg(k[o+68>>2]|0);k[B>>2]=0}if(!c){c=0;continue b}else{P=77;break c}}else e=k[q>>2]|0;while(0);c=((((e<<6)+-768|0)>>>0)/255|0)+65513|0;d=c&65535;j[w>>1]=d;f=((((e<<5)+-384|0)>>>0)/255|0)+65513&65535;j[x>>1]=f;j[y>>1]=e+65501;j[z>>1]=f;i[A>>0]=(d&65535)>127?127:c&255;k[B>>2]=o;k[H>>2]=n;c=0;continue b}else e=0}else e=0}else{f:do if((c|0)==0&M){if(j[N>>1]&1){c=8;P=77;break c}n=k[O>>2]|0;c=k[n+40>>2]|0;g:do if(!c){i[n+21>>0]=(i[(k[a>>2]|0)+64>>0]|0)==2&1;o=n+16|0;if((i[o>>0]|0)==1){f=n+208|0;e=k[f>>2]|0;do if(!e){c=kl(n,2)|0;h:do if((c|0)==0&D){e=n+176|0;d=n+180|0;while(1){c=kl(n,4)|0;if((c|0)!=5)break h;if(!(qc[k[e>>2]&127](k[d>>2]|0)|0)){c=5;break g}}}while(0);if(c)break g}else{do if(i[n+4>>0]|0){if(i[e+43>>0]|0)break;c=kl(n,4)|0;if(c)break g;e=k[f>>2]|0;d=e+43|0;if(!(i[d>>0]|0)){c=k[e+4>>2]|0;uc[k[(k[c>>2]|0)+56>>2]&31](c,(j[e+40>>1]|0)+3|0,1,5)|0;e=k[f>>2]|0}i[d>>0]=1}while(0);if(i[e+46>>0]|0){c=8;break g}d=e+43|0;if((i[d>>0]|0)==0?(E=k[e+4>>2]|0,E=uc[k[(k[E>>2]|0)+56>>2]&31](E,0,1,10)|0,(E|0)!=0):0){c=E;break g}c=e+44|0;i[c>>0]=1;if(!(cw(e+52|0,k[k[e+32>>2]>>2]|0,48)|0))break;if(!(i[d>>0]|0)){d=k[e+4>>2]|0;uc[k[(k[d>>2]|0)+56>>2]&31](d,0,1,9)|0}i[c>>0]=0;c=517;break g}while(0);i[o>>0]=2;c=k[n+24>>2]|0;k[n+36>>2]=c;k[n+32>>2]=c;k[n+28>>2]=c;c=n+72|0;k[c>>2]=0;k[c+4>>2]=0}c=Hg(O)|0;break f}while(0);e=(c|0)==0;break c}while(0);if(!c){c=0;break b}else e=0}while(0);if((P|0)==77){P=0;e=(c|0)==0}if((i[C>>0]|0)==0?(G=k[B>>2]|0,(G|0)!=0):0){k[B>>2]=0;Gg(k[G+68>>2]|0)}if((c&255|0)!=5){P=86;break}if(i[C>>0]|0){P=86;break}if(!(ll(O)|0)){P=86;break}}if((P|0)==86)if(!e){P=96;break}if((i[L>>0]|0)==0?(E=O+40|0,k[E>>2]=(k[E>>2]|0)+1,(i[a+9>>0]|0)!=0):0){i[a+40>>0]=1;E=O+72|0;k[a+44>>2]=k[E>>2];k[E>>2]=a+32}e=M?2:1;i[L>>0]=e;if((e&255)>(l[C>>0]|0))i[C>>0]=e;if(M){e=k[B>>2]|0;k[O+76>>2]=a;d=m[N>>1]|0;j[N>>1]=D?d|32:d&65503;d=e+56|0;E=k[d>>2]|0;if((k[H>>2]|0)!=(l[E+29>>0]<<16|l[E+28>>0]<<24|l[E+30>>0]<<8|l[E+31>>0]|0)){c=Lg(k[e+68>>2]|0)|0;if(!c){c=k[d>>2]|0;P=k[H>>2]|0;i[c+28>>0]=P>>>24;i[c+29>>0]=P>>>16;i[c+30>>0]=P>>>8;i[c+31>>0]=P;c=0;P=96}}else P=96}}}else c=8}else{c=0;P=96}while(0);if((P|0)==96)if((c|0)==0&(b|0)!=0)c=ml(k[O>>2]|0,k[(k[a>>2]|0)+496>>2]|0)|0;r=Q;return c|0}function Eg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0;v=r;r=r+16|0;if((r|0)>=(s|0))ka();p=v;t=v+8|0;k[t>>2]=0;o=d&1;a:do if(!b){k[p>>2]=46865;k[p+4>>2]=10788;gd(11,13600,p);e=11}else{i[a+23>>0]=1;d=k[a+40>>2]|0;do if(!d){n=a+204|0;d=k[n>>2]|0;d=fc[k[8744+132>>2]&63](k[d+40>>2]|0,b,l[d+29>>0]&3)|0;if(!d){g=k[n>>2]|0;if((i[g+29>>0]|0)!=2){f=g+8|0;d=k[f>>2]|0;b:do if(!d)u=11;else{while(1){if((j[d+26>>1]|0)==0?(j[d+24>>1]&4)==0:0)break;d=k[d+36>>2]|0;if(!d){u=11;break b}}k[f>>2]=d;m=d;u=14}while(0);c:do if((u|0)==11?(k[f>>2]=0,h=k[g+4>>2]|0,(h|0)!=0):0){d=h;do{if(!(j[d+26>>1]|0)){m=d;u=14;break c}d=k[d+36>>2]|0}while((d|0)!=0)}while(0);if((u|0)==14?(e=wc[k[g+32>>2]&127](k[g+36>>2]|0,m)|0,!((e|0)==0|(e|0)==5)):0)break;e=fc[k[8744+132>>2]&63](k[g+40>>2]|0,b,2)|0;if(!e){e=7;break}}else e=0}else e=d;g=nl(k[n>>2]|0,b,e)|0;k[c>>2]=g;if(!g)e=7;else{d=g+16|0;e=(o|0)!=0;if(!((k[d>>2]|0)==0|e)){e=a+184|0;k[e>>2]=(k[e>>2]|0)+1;e=0;break a}k[d>>2]=a;do if((b|0)>=0?(q=a+152|0,(((k[2514]|0)/(k[q>>2]|0)|0)+1|0)!=(b|0)):0){if(((i[a+15>>0]|0)==0?!((k[a+24>>2]|0)>>>0<b>>>0|e):0)?(k[k[a+60>>2]>>2]|0)!=0:0){e=k[a+208>>2]|0;if(!e)e=0;else{e=pl(e,b,t)|0;if(e)break;e=k[t>>2]|0}q=a+188|0;k[q>>2]=(k[q>>2]|0)+1;e=ql(g,e)|0;if(!e){e=0;break a}else break}if((k[a+156>>2]|0)>>>0<b>>>0)e=13;else{if(e){e=k[3164]|0;if(e)sc[e&3]();if((k[a+28>>2]|0)>>>0>=b>>>0)gi(k[a+56>>2]|0,b)|0;ol(a,b)|0;e=k[3166]|0;if(e)sc[e&3]()}kw(k[g+4>>2]|0,0,k[q>>2]|0)|0;e=0;break a}}else u=21;while(0);if((u|0)==21){k[p>>2]=46945;k[p+4>>2]=10788;gd(11,13600,p);e=11}rl(g)}}else e=d;while(0);if((k[a+120>>2]|0)==0?(k[(k[a+204>>2]|0)+12>>2]|0)==0:0)sl(a);k[c>>2]=0}while(0);r=v;return e|0}function Fg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0,w=0,x=0;w=r;r=r+16|0;if((r|0)>=(s|0))ka();v=w;t=a+4|0;n=k[(k[t>>2]|0)+4>>2]|0;u=k[n>>2]|0;q=a+24|0;m=k[(k[(k[q>>2]|0)+4>>2]|0)+32>>2]|0;n=k[n+32>>2]|0;o=(m|0)<(n|0)?m:n;p=((m|0)<0)<<31>>31;j=xw(m|0,p|0,b|0,0)|0;l=L;if((m|0)==(n|0))a=0;else a=(i[u+15>>0]|0)==0?0:8;a:do if((a|0)==0&(m|0)>0){b=iw(j|0,l|0,m|0,p|0)|0;h=((n|0)<0)<<31>>31;g=(d|0)==0;f=L;a=n;while(1){k[v>>2]=0;d=vw(b|0,f|0,n|0,h|0)|0;if((d|0)!=(((k[2514]|0)>>>0)/(a>>>0)|0|0)){a=Eg(u,d+1|0,v,0)|0;e=k[v>>2]|0;if(!a){a=Lg(e)|0;if(!a){x=ww(b|0,f|0,m|0,p|0)|0;d=k[e+4>>2]|0;a=ww(b|0,f|0,n|0,h|0)|0;pw(d+a|0,c+x|0,o|0)|0;i[k[e+8>>2]>>0]=0;if((b|0)==0&(f|0)==0&g){x=k[(k[(k[q>>2]|0)+4>>2]|0)+44>>2]|0;i[d+(a+28)>>0]=x>>>24;i[d+(a+29)>>0]=x>>>16;i[d+(a+30)>>0]=x>>>8;i[d+(a+31)>>0]=x;a=0}else a=0}}if(e)Gg(e)}else a=0;b=ow(b|0,f|0,n|0,h|0)|0;d=L;if(!((a|0)==0&((d|0)<(l|0)|(d|0)==(l|0)&b>>>0<j>>>0)))break a;f=d;a=k[(k[(k[t>>2]|0)+4>>2]|0)+32>>2]|0}}while(0);r=w;return a|0}function Gg(a){a=a|0;var b=0,c=0,d=0;b=k[a+16>>2]|0;if(!(j[a+24>>1]&64)){tl(a);a=k[b+120>>2]|0}else{d=b+120|0;c=(k[d>>2]|0)+-1|0;k[d>>2]=c;d=b+136|0;k[a+12>>2]=k[d>>2];k[d>>2]=a;a=c}if((a|0)==0?(k[(k[b+204>>2]|0)+12>>2]|0)==0:0)sl(b);return}function Hg(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;e=a+44|0;if(!(k[e>>2]|0)){f=k[a+12>>2]|0;g=k[f+56>>2]|0;b=Lg(k[f+68>>2]|0)|0;if(!b){b=g+0|0;c=44680|0;d=b+16|0;do{i[b>>0]=i[c>>0]|0;b=b+1|0;c=c+1|0}while((b|0)<(d|0));b=a+32|0;i[g+16>>0]=(k[b>>2]|0)>>>8;i[g+17>>0]=(k[b>>2]|0)>>>16;i[g+18>>0]=1;i[g+19>>0]=1;i[g+20>>0]=(k[b>>2]|0)-(k[a+36>>2]|0);i[g+21>>0]=64;i[g+22>>0]=32;i[g+23>>0]=32;b=g+24|0;d=b+76|0;do{i[b>>0]=0;b=b+1|0}while((b|0)<(d|0));ul(f,13);b=a+22|0;j[b>>1]=m[b>>1]|0|2;b=i[a+17>>0]|0;i[g+52>>0]=0;i[g+53>>0]=0;i[g+54>>0]=0;i[g+55>>0]=b;b=i[a+18>>0]|0;i[g+64>>0]=0;i[g+65>>0]=0;i[g+66>>0]=0;i[g+67>>0]=b;k[e>>2]=1;i[g+31>>0]=1;b=0}}else b=0;return b|0}function Ig(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;e=k[a+4>>2]|0;k[e+4>>2]=k[a>>2];a=k[e+12>>2]|0;d=k[a+56>>2]|0;a=Lg(k[a+68>>2]|0)|0;if((a|0)==0?(g=b<<2,i[d+(g+36)>>0]=c>>>24,i[d+(g+37)>>0]=c>>>16,i[d+(g+38)>>0]=c>>>8,f=c&255,i[d+(g+39)>>0]=f,(b|0)==7):0)i[e+18>>0]=f;return a|0}function Jg(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=a+20|0;b=k[g>>2]|0;c=(b|0)>0;if(c){d=k[a+16>>2]|0;f=0;do{e=k[d+(f<<4)+4>>2]|0;if(e)k[(k[e+4>>2]|0)+4>>2]=k[e>>2];f=f+1|0}while((f|0)!=(b|0));if(c){f=a+16|0;e=0;do{c=k[(k[f>>2]|0)+(e<<4)+12>>2]|0;if(c){vl(c);b=k[g>>2]|0}e=e+1|0}while((e|0)<(b|0))}}b=a+24|0;k[b>>2]=k[b>>2]&-3;wl(a);xl(a);return}function Kg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;d=k[a+4>>2]|0;g=d+22|0;c=m[g>>1]|0;j[g>>1]=(b|0)==1?c|16:c&65519;c=Dg(a,0)|0;do if(!c){d=d+12|0;e=k[(k[d>>2]|0)+56>>2]|0;f=e+18|0;c=i[f>>0]|0;b=b&255;if(c<<24>>24==b<<24>>24?(i[e+19>>0]|0)==c<<24>>24:0){c=0;break}c=Dg(a,2)|0;if(!c){c=Lg(k[(k[d>>2]|0)+68>>2]|0)|0;if(!c){i[f>>0]=b;i[e+19>>0]=b;c=0}}}while(0);j[g>>1]=m[g>>1]&65519;return c|0}function Lg(a){a=a|0;var b=0;b=k[a+16>>2]|0;if((k[b+148>>2]|0)>>>0>(k[b+152>>2]|0)>>>0)a=yl(a)|0;else a=zl(a)|0;return a|0}function Mg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0,w=0,x=0,y=0;x=r;r=r+32|0;if((r|0)>=(s|0))ka();q=x+16|0;t=x;e=x+12|0;h=x+8|0;f=k[a+40>>2]|0;a:do if(!f){w=a+16|0;if((l[w>>0]|0)>=3){b:do if(!(i[a+15>>0]|0)){if(k[a+208>>2]|0){g=a+204|0;e=Al(k[g>>2]|0)|0;k[h>>2]=0;if(!e){d=Eg(a,1,h,0)|0;e=k[h>>2]|0;k[e+12>>2]=0;if(e){f=e;v=9}}else{f=0;v=9}if((v|0)==9){d=Bl(a,e,k[a+24>>2]|0,1)|0;if(f)Gg(f)}if(d)break a;e=k[g>>2]|0;d=k[e>>2]|0;if(!d)break;while(1){Cl(d);d=k[e>>2]|0;if(!d)break b}}f=a+18|0;if((i[f>>0]|0)==0?(k[a+24>>2]|0)!=0:0){g=Eg(a,1,e,0)|0;e=k[e>>2]|0;if(!g){g=Lg(e)|0;if(!g){Dl(e);i[f>>0]=1;g=0}}if(e)Gg(e);if(g){d=g;break a}}if(((b|0)!=0?(i[a+5>>0]|0)!=4:0)?(u=a+64|0,j=k[u>>2]|0,(k[j>>2]|0)!=0):0){i[a+19>>0]=1;f=i[b>>0]|0;if(!(f<<24>>24)){g=0;e=0}else{g=0;e=0;do{g=(f<<24>>24)+g|0;e=e+1|0;f=i[b+e>>0]|0}while(f<<24>>24!=0)}p=a+72|0;h=p;f=k[h>>2]|0;h=k[h+4>>2]|0;if(i[a+8>>0]|0){if((f|0)==0&(h|0)==0){f=0;h=0}else{h=ow(f|0,h|0,-1,-1)|0;f=k[a+148>>2]|0;h=vw(h|0,L|0,f|0,0)|0;h=ow(h|0,L|0,1,0)|0;f=xw(h|0,L|0,f|0,0)|0;h=L}o=p;k[o>>2]=f;k[o+4>>2]=h}y=((k[2514]|0)/(k[a+152>>2]|0)|0)+1|0;i[q>>0]=y>>>24;m=q+1|0;i[m>>0]=y>>>16;n=q+2|0;i[n>>0]=y>>>8;o=q+3|0;i[o>>0]=y;j=yc[k[(k[j>>2]|0)+12>>2]&31](j,q,4,f,h)|0;if(j){d=j;break a}y=k[u>>2]|0;j=ow(f|0,h|0,4,0)|0;h=L;f=yc[k[(k[y>>2]|0)+12>>2]&31](y,b,e,j,h)|0;if(f){d=f;break a}y=k[u>>2]|0;h=ow(j|0,h|0,e|0,((e|0)<0)<<31>>31|0)|0;f=L;i[q>>0]=e>>>24;i[m>>0]=e>>>16;i[n>>0]=e>>>8;i[o>>0]=e;j=yc[k[(k[y>>2]|0)+12>>2]&31](y,q,4,h,f)|0;if(j){d=j;break a}y=k[u>>2]|0;j=ow(h|0,f|0,4,0)|0;i[q>>0]=g>>>24;i[m>>0]=g>>>16;i[n>>0]=g>>>8;i[o>>0]=g;g=yc[k[(k[y>>2]|0)+12>>2]&31](y,q,4,j,L)|0;if(g){d=g;break a}o=k[u>>2]|0;f=ow(h|0,f|0,8,0)|0;f=yc[k[(k[o>>2]|0)+12>>2]&31](o,14808,8,f,L)|0;if(f){d=f;break a}o=e+20|0;f=p;o=ow(k[f>>2]|0,k[f+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;f=p;k[f>>2]=o;k[f+4>>2]=L;f=k[u>>2]|0;f=wc[k[(k[f>>2]|0)+24>>2]&127](f,t)|0;if(f){d=f;break a}o=t;n=k[o+4>>2]|0;f=p;e=k[f>>2]|0;f=k[f+4>>2]|0;if((n|0)>(f|0)|((n|0)==(f|0)?(k[o>>2]|0)>>>0>e>>>0:0)?(d=k[u>>2]|0,d=fc[k[(k[d>>2]|0)+16>>2]&63](d,e,f)|0,(d|0)!=0):0)break a}d=El(a,0)|0;if(d)break a;e=a+204|0;d=Fl(a,Al(k[e>>2]|0)|0)|0;if(d)break a;d=k[e>>2]|0;e=k[d>>2]|0;if(e)do{Cl(e);e=k[d>>2]|0}while((e|0)!=0);e=k[a+24>>2]|0;if(e>>>0>(k[a+32>>2]|0)>>>0){d=Gl(a,e-((e|0)==(((k[2514]|0)/(k[a+152>>2]|0)|0)+1|0)&1)|0)|0;if(!(d|c))v=46}else if(!c)v=46;else break;if((v|0)==46)d=Ng(a,b)|0;if(d)break a}else{d=k[a+88>>2]|0;if(d)do{k[d+16>>2]=1;d=k[d+44>>2]|0}while((d|0)!=0)}while(0);if(!(k[a+208>>2]|0)){i[w>>0]=5;d=0}else d=0}else d=0}else d=f;while(0);r=x;return d|0}function Ng(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=a+60|0;e=k[d>>2]|0;f=k[e>>2]|0;if(!((f|0)!=0?(c=fc[k[f+40>>2]&63](e,21,b)|0,!((c|0)==0|(c|0)==12)):0))if(!(i[a+7>>0]|0)){c=k[d>>2]|0;c=wc[k[(k[c>>2]|0)+20>>2]&127](c,l[a+11>>0]|0)|0}else c=0;return c|0}function Og(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;d=i[a+8>>0]|0;do if(!(d<<24>>24))c=0;else{h=k[a+4>>2]|0;k[h+4>>2]=k[a>>2];if(d<<24>>24==2){e=k[h>>2]|0;f=e+40|0;d=k[f>>2]|0;do if(!d){d=e+16|0;if(((i[d>>0]|0)==2?(i[e+4>>0]|0)!=0:0)?(i[e+5>>0]|0)==1:0){i[d>>0]=1;break}c=e+100|0;k[c>>2]=(k[c>>2]|0)+1;c=Hl(e,l[e+19>>0]|0,1)|0;e=c&255;if((e|0)==10|(e|0)==13){k[f>>2]=c;i[d>>0]=6;g=10}else g=10}else{c=d;g=10}while(0);if((g|0)==10?(c|0)!=0&(b|0)==0:0)break;c=a+20|0;k[c>>2]=(k[c>>2]|0)+-1;i[h+20>>0]=1;c=h+60|0;ji(k[c>>2]|0);k[c>>2]=0}Il(a);c=0}while(0);return c|0}function Pg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;o=r;r=r+16|0;if((r|0)>=(s|0))ka();e=o;a:do if((i[a+8>>0]|0)==2){n=k[a+4>>2]|0;k[n+4>>2]=k[a>>2];do if(i[n+17>>0]|0){m=k[n>>2]|0;c=n+8|0;a=k[c>>2]|0;if(a)do{j=a+72|0;i[j>>0]=l[j>>0]&251;a=k[a+8>>2]|0}while((a|0)!=0);if(!(i[n+18>>0]|0)){j=n+44|0;d=k[j>>2]|0;if(d>>>0<2)a=0;else{a=d+-2|0;a=a-((a>>>0)%(((((k[n+36>>2]|0)>>>0)/5|0)+1|0)>>>0)|0)|0;a=((a+1|0)==(((k[2514]|0)>>>0)/((k[n+32>>2]|0)>>>0)|0|0)?3:2)+a|0}if((a|0)!=(d|0)?(d|0)!=((((k[2514]|0)>>>0)/((k[n+32>>2]|0)>>>0)|0)+1|0):0){f=n+12|0;g=k[(k[f>>2]|0)+56>>2]|0;g=l[g+37>>0]<<16|l[g+36>>0]<<24|l[g+38>>0]<<8|l[g+39>>0];h=Jl(n,d,g)|0;if(h>>>0>d>>>0){k[e>>2]=56396;k[e+4>>2]=10788;gd(11,13600,e);a=11;break a}b:do if(h>>>0<d>>>0){a=k[c>>2]|0;c:do if(a){while(1){if(a)break;a=k[2]|0;if(!a)break c}a=Kl(a,0,0)|0;if(a){c=0;break b}}while(0);do{a=Ll(n,h,d,1)|0;d=d+-1|0;c=(a|0)==0}while(d>>>0>h>>>0&c)}else{c=1;a=0}while(0);if(((a|0)==101|c)&(g|0)!=0){a=Lg(k[(k[f>>2]|0)+68>>2]|0)|0;g=(k[(k[f>>2]|0)+56>>2]|0)+32|0;i[g>>0]=0;i[g+1>>0]=0;i[g+2>>0]=0;i[g+3>>0]=0;g=(k[(k[f>>2]|0)+56>>2]|0)+36|0;i[g>>0]=0;i[g+1>>0]=0;i[g+2>>0]=0;i[g+3>>0]=0;g=k[(k[f>>2]|0)+56>>2]|0;i[g+28>>0]=h>>>24;i[g+29>>0]=h>>>16;i[g+30>>0]=h>>>8;i[g+31>>0]=h;i[n+19>>0]=1;k[j>>2]=h}if(!a)break;Ml(m)|0;break a}k[e>>2]=56391;k[e+4>>2]=10788;gd(11,13600,e);a=11;break a}}while(0);a=k[n>>2]|0;if(i[n+19>>0]|0)k[a+24>>2]=k[n+44>>2];a=Mg(a,b,0)|0}else a=0;while(0);r=o;return a|0}function Qg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;if((r|0)>=(s|0))ka();e=h;g=k[a+4>>2]|0;k[g+4>>2]=k[a>>2];a:do if(!b){b=k[g+8>>2]|0;if(b){while(1){if(b)break;b=k[2]|0;if(!b)break a}b=Kl(b,0,0)|0;d=(b|0)==0;if(!d){d=d?c:0;f=6}}}else{d=c;f=6}while(0);if((f|0)==6)Nl(a,b,d)|0;if((i[a+8>>0]|0)==2){Ml(k[g>>2]|0)|0;if(!(il(g,1,e,0)|0)){b=k[e>>2]|0;d=k[b+56>>2]|0;d=l[d+29>>0]<<16|l[d+28>>0]<<24|l[d+30>>0]<<8|l[d+31>>0];if(!d)d=k[(k[g>>2]|0)+24>>2]|0;k[g+44>>2]=d;if(b)Gg(k[b+68>>2]|0)}i[g+20>>0]=1;d=g+60|0;ji(k[d>>2]|0);k[d>>2]=0}Il(a);r=h;return}function Rg(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=a+76|0;if((k[g>>2]|0)==1691352191?(Ol(a)|0)==0:0){Pl(a,0);Ql(a);f=a+20|0;h=a+16|0;b=k[h>>2]|0;if((k[f>>2]|0)>0){e=0;do{d=b+(e<<4)+4|0;c=k[d>>2]|0;if((c|0)!=0?(Rl(c),k[d>>2]=0,(e|0)!=1):0)k[b+(e<<4)+12>>2]=0;e=e+1|0;b=k[h>>2]|0}while((e|0)<(k[f>>2]|0))}b=k[b+28>>2]|0;if(b)vl(b);wl(a);xl(a);e=0;do{b=k[a+(e<<2)+336>>2]|0;if(b)do{d=b;b=k[b+28>>2]|0;if(d)do{Sl(a,d);c=d;d=k[d+8>>2]|0;rg(a,c)}while((d|0)!=0)}while((b|0)!=0);e=e+1|0}while((e|0)!=23);c=a+428|0;b=k[a+436>>2]|0;if(b)do{e=k[b+8>>2]|0;d=k[e+16>>2]|0;if(d)hc[d&31](k[e+8>>2]|0);d=k[e+36>>2]|0;if(d)hc[d&31](k[e+28>>2]|0);d=k[e+56>>2]|0;if(d)hc[d&31](k[e+48>>2]|0);rg(a,e);b=k[b>>2]|0}while((b|0)!=0);Tl(c);e=a+308|0;b=k[a+316>>2]|0;if(b)do{d=k[b+8>>2]|0;c=k[d+12>>2]|0;if(c)hc[c&31](k[d+8>>2]|0);rg(a,d);b=k[b>>2]|0}while((b|0)!=0);Tl(e);k[a+52>>2]=0;c=a+236|0;b=k[c>>2]|0;do if(b){d=b+8|0;if(!(j[d>>1]&9312)){j[d>>1]=1;break}else{Ag(b);b=k[c>>2]|0;break}}else b=0;while(0);Rh(b);d=a+168|0;if((k[d>>2]|0)>0){b=a+172|0;c=0;do{e=k[a>>2]|0;oc[k[e+52>>2]&15](e,k[(k[b>>2]|0)+(c<<2)>>2]|0);c=c+1|0}while((c|0)<(k[d>>2]|0))}else b=a+172|0;rg(a,k[b>>2]|0);k[g>>2]=-1254786768;rg(a,k[(k[h>>2]|0)+28>>2]|0);k[g>>2]=-1623446221;if(i[a+251>>0]|0)$c(k[a+276>>2]|0);$c(a)}return}function Sg(a){a=a|0;var b=0;b=k[a+40>>2]|0;if((b|0)==1369188723|(b|0)==-1108210269)b=Ug(a)|0;else b=0;Ul(a);return b|0}function Tg(a,b){a=a|0;b=b|0;do if(a)if((i[a+65>>0]|0)!=0|(b|0)==3082){Vl(a);a=7;break}else{a=k[a+56>>2]&b;break}else a=b&255;while(0);return a|0}function Ug(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;e=r;r=r+16|0;if((r|0)>=(s|0))ka();c=e;d=k[a>>2]|0;Wl(a)|0;if((k[a+76>>2]|0)>-1){mh(a)|0;b=a+44|0;rg(d,k[b>>2]|0);k[b>>2]=0;b=a+88|0;c=j[b>>1]|0;if(c&16)j[b>>1]=c|8}else{b=k[a+80>>2]|0;if((b|0)!=0?(j[a+88>>1]&8)!=0:0){f=a+44|0;g=k[f>>2]|0;k[c>>2]=g;zg(d,b,(g|0)!=0?10344:0,c);rg(d,k[f>>2]|0);k[f>>2]=0}}b=a+44|0;rg(k[a>>2]|0,k[b>>2]|0);k[b>>2]=0;k[a+20>>2]=0;b=a+136|0;k[b>>2]=0;k[b+4>>2]=0;k[a+40>>2]=649915045;r=e;return k[d+56>>2]&k[a+80>>2]|0}function Vg(a){a=a|0;var b=0;if(j[a+8>>1]&9312)Ag(a);b=a+24|0;if(k[b>>2]|0){rg(k[a+32>>2]|0,k[a+20>>2]|0);k[b>>2]=0}k[a+16>>2]=0;return}function Wg(a){a=a|0;var b=0,c=0,d=0;b=a+8|0;if(j[b>>1]&16384){c=a+12|0;d=(k[a>>2]|0)+(k[c>>2]|0)|0;if(!(jh(a,(d|0)<1?1:d,1)|0)){kw((k[a+16>>2]|0)+(k[c>>2]|0)|0,0,k[a>>2]|0)|0;k[c>>2]=(k[c>>2]|0)+(k[a>>2]|0);j[b>>1]=(m[b>>1]|0)&48639;b=0}else b=7}else b=0;return b|0}function Xg(a,b){a=a|0;b=b|0;var c=0;do if(a){c=j[a+8>>1]|0;if((c&514)==514?(i[a+10>>0]|0)==b<<24>>24:0){c=k[a+16>>2]|0;break}if(!(c&1))c=Xl(a,b)|0;else c=0}else c=0;while(0);return c|0}function Yg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=a+8|0;d=j[c>>1]|0;if(!(d&16))if(!(Xg(a,b)|0))c=0;else{d=j[c>>1]|0;e=4}else e=4;if((e|0)==4){c=k[a+12>>2]|0;if(d&16384)c=(k[a>>2]|0)+c|0}return c|0}function Zg(a){a=a|0;var b=0.0,c=0,d=0,e=0;e=r;r=r+16|0;if((r|0)>=(s|0))ka();d=e;c=m[a+8>>1]|0;do if(!(c&8)){if(c&4){c=a;b=+((k[c>>2]|0)>>>0)+4294967296.0*+(k[c+4>>2]|0);break}if(!(c&18))b=0.0;else{p[d>>3]=0.0;Yl(k[a+16>>2]|0,d,k[a+12>>2]|0,i[a+10>>0]|0)|0;b=+p[d>>3]}}else b=+p[a>>3];while(0);r=e;return +b}function _g(a){a=a|0;var b=0.0,c=0,d=0,e=0;e=r;r=r+16|0;if((r|0)>=(s|0))ka();d=e;c=m[a+8>>1]|0;do if(!(c&4)){if(!(c&8)){if(!(c&18)){a=0;c=0;break}c=d;k[c>>2]=0;k[c+4>>2]=0;Zl(k[a+16>>2]|0,d,k[a+12>>2]|0,i[a+10>>0]|0)|0;c=d;a=k[c+4>>2]|0;c=k[c>>2]|0;break}b=+p[a>>3];if(!(b<=-9223372036854775808.0))if(!(b>=9223372036854775808.0)){a=+W(b)>=1.0?(b>0.0?~~+ia(+V(b/4294967296.0),4294967295.0)>>>0:~~+ga((b-+(~~b>>>0))/4294967296.0)>>>0):0;c=~~b>>>0}else{a=2147483647;c=-1}else{a=-2147483648;c=0}}else{c=a;a=k[c+4>>2]|0;c=k[c>>2]|0}while(0);L=a;r=e;return c|0}function $g(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if((ah(k[a>>2]|0,b,c,d,e)|0)==18){k[a+20>>2]=18;i[a+25>>0]=1;ah(k[a>>2]|0,10096,-1,1,0)|0}return}function ah(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,l=0,n=0,o=0,p=0,q=0,r=0;a:do if(!b){f=a+8|0;if(!(j[f>>1]&9312)){j[f>>1]=1;f=0;break}else{Ag(a);f=0;break}}else{o=a+32|0;f=k[o>>2]|0;if(!f)r=1e9;else r=k[f+88>>2]|0;q=d<<24>>24==0;n=q?16:2;if((c|0)<0){b:do if(d<<24>>24!=1)if((r|0)<0)g=0;else{c=0;while(1){g=c+2|0;if(!((i[b+(c|1)>>0]|i[b+c>>0])<<24>>24)){g=c;break b}if((g|0)>(r|0))break;else c=g}}else{g=b;while(1)if(!(i[g>>0]|0))break;else g=g+1|0;g=g-b&1073741823;g=(g|0)>(r|0)?r+1|0:g}while(0);p=g;l=(n&65535|512)&65535}else{p=c;l=n}do if((e|0)==(-1|0)){if(!(l&512))f=p;else f=p+(d<<24>>24==1?1:2)|0;if((p|0)>(r|0)){f=18;break a}if(kh(a,(f|0)>32?f:32)|0){f=7;break a}pw(k[a+16>>2]|0,b|0,f|0)|0;n=a+8|0;f=l}else{c=(e|0)==75;h=a+8|0;if(!((j[h>>1]&9312)==0?(k[a+24>>2]|0)==0:0))Vg(a);k[a+16>>2]=b;if(!c){k[a+36>>2]=e;n=h;f=(l&65535|((e|0)==0?2048:1024))&65535;break}k[a+20>>2]=b;f=k[o>>2]|0;do if(!f)f=qc[k[8744+48>>2]&127](b)|0;else{if((k[f+276>>2]|0)>>>0<=b>>>0?(k[f+280>>2]|0)>>>0>b>>>0:0){f=m[f+248>>1]|0;break}f=qc[k[8744+48>>2]&127](b)|0}while(0);k[a+24>>2]=f;n=h;f=l}while(0);l=a+12|0;k[l>>2]=p;j[n>>1]=f;b=q?1:d;h=a+10|0;i[h>>0]=b;do if(b<<24>>24!=1&(p|0)>1){c=a+16|0;g=k[c>>2]|0;f=i[g>>0]|0;g=i[g+1>>0]|0;if(!(f<<24>>24==-1&g<<24>>24==-2))if(g<<24>>24!=-1|f<<24>>24!=-2)break;else f=3;else f=2;if(_l(a)|0){f=7;break a}b=(k[l>>2]|0)+-2|0;k[l>>2]=b;e=k[c>>2]|0;qw(e|0,e+2|0,b|0)|0;i[(k[c>>2]|0)+(k[l>>2]|0)>>0]=0;i[(k[c>>2]|0)+((k[l>>2]|0)+1)>>0]=0;j[n>>1]=m[n>>1]|512;i[h>>0]=f}while(0);f=(p|0)>(r|0)?18:0}while(0);return f|0}function bh(a,b){a=a|0;b=+b;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;if((r|0)>=(s|0))ka();d=f+8|0;e=f;c=a+8|0;if(!(j[c>>1]&9312))j[c>>1]=1;else Ag(a);p[d>>3]=b;p[e>>3]=+p[d>>3];if(!(+p[d>>3]!=+p[e>>3])){p[a>>3]=b;j[c>>1]=8}r=f;return}function ch(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=a+8|0;if(!(j[d>>1]&9312))j[d>>1]=1;else Ag(a);k[a>>2]=b;k[a+4>>2]=c;j[d>>1]=4;return}function dh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=a+8|0;if(j[c>>1]&9312)Ag(a);k[a+0>>2]=k[b+0>>2];k[a+4>>2]=k[b+4>>2];k[a+8>>2]=k[b+8>>2];k[a+12>>2]=k[b+12>>2];k[a+16>>2]=k[b+16>>2];e=m[c>>1]|0;d=e&64511;j[c>>1]=d;if((e&18|0)!=0?(j[b+8>>1]&2048)==0:0){j[c>>1]=d|4096;c=_l(a)|0}else c=0;return c|0}function eh(a,b){a=a|0;b=b|0;var c=0;c=a+8|0;if(!((j[c>>1]&9312)==0?(k[a+24>>2]|0)==0:0))Vg(a);j[c>>1]=16400;k[a+12>>2]=0;k[a>>2]=(b|0)<0?0:b;i[a+10>>0]=1;k[a+16>>2]=0;return}function fh(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;if((r|0)>=(s|0))ka();b=c;if(a)if(!(k[a>>2]|0)){gd(21,47360,b);a=1}else a=0;else{gd(21,47320,b);a=1}r=c;return a|0}function gh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0.0;e=r;r=r+16|0;if((r|0)>=(s|0))ka();d=e;if((k[a>>2]|0)>1?(c=k[a+72>>2]|0,(c|0)!=0):0)c=wc[c&127](a,b)|0;else{c=wc[k[a+64>>2]&127](a,d)|0;f=+p[d>>3]*864.0e5;a=+W(f)>=1.0?(f>0.0?~~+ia(+V(f/4294967296.0),4294967295.0)>>>0:~~+ga((f-+(~~f>>>0))/4294967296.0)>>>0):0;k[b>>2]=~~f>>>0;k[b+4>>2]=a}r=e;return c|0}function hh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;a:do if((a|0)!=0&(b|0)!=0){f=a+(b*40|0)|0;g=k[a+32>>2]|0;d=g+65|0;e=i[d>>0]|0;if(k[g+520>>2]|0){b=a;while(1){if(k[b+24>>2]|0)rg(g,k[b+20>>2]|0);b=b+40|0;if(b>>>0>=f>>>0)break a}}do{b=a+8|0;if(!(j[b>>1]&9312)){c=a+24|0;if(k[c>>2]|0){rg(g,k[a+20>>2]|0);k[c>>2]=0}}else Vg(a);j[b>>1]=128;a=a+40|0}while(a>>>0<f>>>0);i[d>>0]=e}while(0);return}function ih(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=r;r=r+16|0;if((r|0)>=(s|0))ka();f=e;k[f>>2]=d;d=$k(b,c,f)|0;rg(b,k[a>>2]|0);k[a>>2]=d;r=e;return}function jh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,l=0,n=0,o=0;i=a+24|0;d=k[i>>2]|0;do if((d|0)<(b|0)){h=(b|0)<32?32:b;b=(d|0)>0;if((c|0)!=0&b?(e=a+16|0,f=k[e>>2]|0,g=a+20|0,(f|0)==(k[g>>2]|0)):0){d=$l(k[a+32>>2]|0,f,h,((h|0)<0)<<31>>31)|0;k[g>>2]=d;k[e>>2]=d;c=0}else{d=a+32|0;if(b){b=a+20|0;rg(k[d>>2]|0,k[b>>2]|0)}else b=a+20|0;d=rh(k[d>>2]|0,h,((h|0)<0)<<31>>31)|0;k[b>>2]=d}if(!d){c=a+8|0;if(!(j[c>>1]&9312))j[c>>1]=1;else Ag(a);k[a+16>>2]=0;k[i>>2]=0;c=7;break}b=k[a+32>>2]|0;do if(!b)b=qc[k[8744+48>>2]&127](d)|0;else{if((k[b+276>>2]|0)>>>0<=d>>>0?(k[b+280>>2]|0)>>>0>d>>>0:0){b=m[b+248>>1]|0;break}b=qc[k[8744+48>>2]&127](d)|0}while(0);k[i>>2]=b;o=21}else o=21;while(0);if((o|0)==21){if(((c|0)!=0?(l=k[a+16>>2]|0,(l|0)!=0):0)?(n=k[a+20>>2]|0,(l|0)!=(n|0)):0)pw(n|0,l|0,k[a+12>>2]|0)|0;b=a+8|0;c=j[b>>1]|0;if(!(c&1024))d=a+16|0;else{d=a+16|0;hc[k[a+36>>2]&31](k[d>>2]|0);c=j[b>>1]|0}k[d>>2]=k[a+20>>2];j[b>>1]=c&58367;c=0}return c|0}function kh(a,b){a=a|0;b=b|0;if((k[a+24>>2]|0)<(b|0))a=jh(a,b,0)|0;else{k[a+16>>2]=k[a+20>>2];a=a+8|0;j[a>>1]=(m[a>>1]|0)&13;a=0}return a|0}
function rq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0;da=r;r=r+192|0;if((r|0)>=(s|0))ka();_=da+48|0;Y=da+24|0;X=da+160|0;E=da+156|0;P=da+152|0;H=da+148|0;S=da+144|0;K=da+140|0;D=da+16|0;ba=da;v=da+128|0;u=da+116|0;w=da+96|0;e=da+88|0;ca=a+8|0;$=k[ca>>2]|0;aa=k[a>>2]|0;k[ba+0>>2]=k[9286];k[ba+4>>2]=k[9287];k[ba+8>>2]=k[9288];a:do switch(b|0){case 8:{v=k[$>>2]|0;z=v+65|0;if(((i[z>>0]|0)==0?(i[$+18>>0]|0)==0:0)?(V=$+64|0,(k[V>>2]|0)==0):0){y=Tq($)|0;if(y){do{}while((Uq(y,61)|0)!=0);Bh(y,24,0,0,0)|0;do if(!(i[z>>0]|0)){h=$+332|0;q=k[h>>2]|0;if((q|0)==0?(k[$+316>>2]|0)==0:0)break;n=y+32|0;o=k[n>>2]|0;if(o)k[(k[y+4>>2]|0)+8>>2]=o;k[(k[y+24>>2]|0)+88>>2]=o+-1;t=v+20|0;b:do if((k[t>>2]|0)>0){c=y+96|0;d=$+328|0;e=v+16|0;f=v+145|0;g=y+4|0;p=0;while(1){u=1<<p;if(((u&q|0)!=0?(k[c>>2]=k[c>>2]|u,_=k[(k[(k[e>>2]|0)+(p<<4)+12>>2]|0)+4>>2]|0,Ch(y,Bh(y,4,p,(k[d>>2]&u|0)!=0&1,k[$+(p<<2)+336>>2]|0)|0,_,-14),(i[f>>0]|0)==0):0)?(J=k[g>>2]|0,(J|0)!=0):0)i[J+(((k[n>>2]|0)+-1|0)*20|0)+3>>0]=1;p=p+1|0;if((p|0)>=(k[t>>2]|0))break b;q=k[h>>2]|0}}while(0);n=$+452|0;if((k[n>>2]|0)>0){h=$+520|0;g=0;do{o=k[(k[(k[h>>2]|0)+(g<<2)>>2]|0)+60>>2]|0;c:do if(!o)o=0;else while(1){if((k[o>>2]|0)==(v|0))break c;o=k[o+24>>2]|0;if(!o){o=0;break}}while(0);Ch(y,Bh(y,146,0,0,0)|0,o,-10);g=g+1|0}while((g|0)<(k[n>>2]|0))}k[n>>2]=0;n=Tq($)|0;h=$+396|0;if((k[h>>2]|0)>0){g=$+400|0;f=0;do{Y=k[g>>2]|0;_=k[Y+(f<<4)+12>>2]|0;Ch(n,Bh(n,145,k[Y+(f<<4)>>2]|0,k[Y+(f<<4)+4>>2]|0,l[Y+(f<<4)+8>>0]|0)|0,_,-2);f=f+1|0}while((f|0)<(k[h>>2]|0))}d=k[$+8>>2]|0;o=k[$+404>>2]|0;if(o){c=(k[$>>2]|0)+16|0;p=d+32|0;q=d+4|0;do{h=k[o+8>>2]|0;n=k[o+12>>2]|0;Vq($,0,h,k[(k[(k[c>>2]|0)+(h<<4)+12>>2]|0)+72>>2]|0,54);h=n+1|0;Bh(d,28,0,n,h)|0;g=k[p>>2]|0;e=n+-1|0;f=k[k[o+4>>2]>>2]|0;Ch(d,Bh(d,97,0,e,0)|0,f,0);f=g+9|0;Bh(d,108,0,f,0)|0;Bh(d,47,0,0,n)|0;Bh(d,78,e,g+7|0,n)|0;e=k[q>>2]|0;if(e)i[e+(((k[p>>2]|0)+-1|0)*20|0)+3>>0]=16;Bh(d,103,0,h,0)|0;Bh(d,47,0,1,n)|0;Bh(d,16,0,f,0)|0;Bh(d,9,0,g+2|0,0)|0;Bh(d,25,0,n,0)|0;Bh(d,61,0,0,0)|0;o=k[o>>2]|0}while((o|0)!=0)}n=k[$+316>>2]|0;if((n|0)!=0?(i[$+23>>0]=0,(k[n>>2]|0)>0):0){h=n+4|0;g=0;do{_=k[h>>2]|0;Wq($,k[_+(g*20|0)>>2]|0,k[_+(g*20|0)+16>>2]|0);g=g+1|0}while((g|0)<(k[n>>2]|0))}Bh(y,16,0,1,0)|0}while(0);if((k[V>>2]|0)==0?(i[z>>0]|0)==0:0){if((k[$+404>>2]|0)!=0?(W=$+68|0,(k[W>>2]|0)==0):0)k[W>>2]=1;Fh(y,$);k[$+12>>2]=101;i[$+16>>0]=0}else Z=48}else Z=48;if((Z|0)==48)k[$+12>>2]=1;k[$+68>>2]=0;k[$+72>>2]=0;k[$+76>>2]=0;k[$+440>>2]=0;k[$+332>>2]=0}break}case 33:{_=a+(aa<<4)+16|0;_q($,0,0,0,k[_>>2]|0);Rk(k[$>>2]|0,k[_>>2]|0,1);break}case 35:{e=k[a+(aa<<4)+20>>2]|0;d=k[a+(aa<<4)+16>>2]|0;if((e|0)==5?(Kc(d,20456,5)|0)==0:0){i[ba>>0]=32;break a}i[ba>>0]=0;k[_>>2]=e;k[_+4>>2]=d;yh($,20464,_);break}case 26:{Zq($,a+(aa+-1<<4)+16|0,a+(aa<<4)+16|0,k[a+(aa+-4<<4)+16>>2]|0,0,0,k[a+(aa+-2<<4)+16>>2]|0);break}case 221:case 218:case 108:case 97:case 85:case 83:case 81:case 68:case 31:case 28:{k[ba>>2]=0;break}case 27:{i[(k[$>>2]|0)+250>>0]=0;Z=a+(aa<<4)+16|0;_=k[Z+4>>2]|0;$=ba;k[$>>2]=k[Z>>2];k[$+4>>2]=_;break}case 222:case 219:case 107:case 84:case 69:case 30:case 29:{k[ba>>2]=1;break}case 32:{_q($,a+(aa+-2<<4)+16|0,a+(aa+-1<<4)+16|0,i[a+(aa<<4)+16>>0]|0,0);break}case 34:{i[ba>>0]=0;break}case 62:{dr($,0,k[a+(aa+-1<<4)+16>>2]|0,k[a+(aa<<4)+16>>2]|0,k[a+(aa+-2<<4)+16>>2]|0);break}case 63:{er($,0,0,0,0,k[a+(aa<<4)+16>>2]|0,0,0,0,0)|0;break}case 70:{k[ba>>2]=0;break}case 71:{k[ba>>2]=k[a+(aa+-1<<4)+16>>2]&~k[a+(aa<<4)+20>>2]|k[a+(aa<<4)+16>>2];break}case 73:case 72:{k[ba>>2]=0;k[ba+4>>2]=0;break}case 74:{k[ba>>2]=k[a+(aa<<4)+16>>2];k[ba+4>>2]=255;break}case 76:{k[ba>>2]=7;break}case 75:{k[ba>>2]=k[a+(aa<<4)+16>>2]<<8;k[ba+4>>2]=65280;break}case 6:{i[$+450>>0]=1;k[$+440>>2]=0;break}case 5:{i[$+450>>0]=0;k[$+440>>2]=0;break}case 9:{e=k[a+(aa+-1<<4)+16>>2]|0;d=k[$>>2]|0;if((Xq($,22,37104,0,0)|0)==0?(B=Tq($)|0,(B|0)!=0):0){if((e|0)!=7?(C=d+20|0,(k[C>>2]|0)>0):0){e=(e|0)==9?2:1;d=B+96|0;g=0;do{Bh(B,4,g,e,0)|0;k[d>>2]=k[d>>2]|1<<g;g=g+1|0}while((g|0)<(k[C>>2]|0))}Bh(B,3,0,0,0)|0}break}case 46:{$=k[a+(aa+-3<<4)+16>>2]|0;k[ba>>2]=$;k[ba+4>>2]=(k[a+(aa<<4)+16>>2]|0)+(k[a+(aa<<4)+20>>2]|0)-$;break}case 279:case 263:case 262:case 261:case 260:case 259:case 258:case 257:case 256:case 247:case 150:case 141:case 131:case 130:case 48:case 45:case 42:case 41:case 40:{Z=a+(aa<<4)+16|0;_=k[Z+4>>2]|0;$=ba;k[$>>2]=k[Z>>2];k[$+4>>2]=_;break}case 44:{e=a+(aa<<4)+16|0;d=k[$+484>>2]|0;if((d|0)!=0?(F=j[d+38>>1]|0,F<<16>>16>=1):0){_=(F<<16>>16)+-1|0;Z=k[d+4>>2]|0;$=$q(k[$>>2]|0,e)|0;k[Z+(_*24|0)+12>>2]=$;$=ar($,Z+(_*24|0)+22|0)|0;i[Z+(_*24|0)+21>>0]=$}break}case 58:{_=cr($,157,k[a+(aa<<4)+16>>2]|0,0,0)|0;k[v>>2]=_;k[v+4>>2]=k[a+(aa+-1<<4)+16>>2];k[v+8>>2]=k[a+(aa<<4)+24>>2];br($,v);break}case 59:{_=a+(aa<<4)+16|0;Z=cr($,97,0,0,_)|0;k[u>>2]=Z;_=k[_>>2]|0;k[u+4>>2]=_;k[u+8>>2]=_+(k[a+(aa<<4)+20>>2]|0);br($,u);break}case 61:{d=k[a+(aa<<4)+16>>2]|0;e=k[$+484>>2]|0;if((e|0)!=0?(q=j[e+38>>1]|0,q<<16>>16>=1):0)i[(k[e+4>>2]|0)+(((q<<16>>16)+-1|0)*24|0)+20>>0]=d;break}case 7:{i[$+450>>0]=2;k[$+440>>2]=0;break}case 13:{k[ba>>2]=7;break}case 117:case 115:case 16:case 15:case 14:{k[ba>>2]=l[a+(aa<<4)+14>>0];break}case 18:case 17:{if((Xq($,22,37136,0,0)|0)==0?(y=Tq($)|0,(y|0)!=0):0)Bh(y,3,1,0,0)|0;break}case 38:{_=k[a+(aa+-2<<4)+16>>2]|0;k[ba>>2]=_;k[ba+4>>2]=(k[$+504>>2]|0)-_+(k[$+508>>2]|0);break}case 39:{u=a+(aa<<4)+16|0;q=k[$>>2]|0;d=k[$+484>>2]|0;d:do if(d){t=d+38|0;if((j[t>>1]|0)>=(k[q+96>>2]|0)){k[_>>2]=k[d>>2];yh($,36528,_);break}p=$q(q,u)|0;if(p){n=j[t>>1]|0;c=n<<16>>16;e:do if(n<<16>>16>0){o=i[9328+(l[p>>0]|0)>>0]|0;g=k[d+4>>2]|0;h=p+1|0;e=0;while(1){f=k[g+(e*24|0)>>2]|0;if(o<<24>>24==(i[9328+(l[f>>0]|0)>>0]|0)?(id(h,f+1|0)|0)==0:0)break;e=e+1|0;if((e|0)>=(c|0))break e}k[_>>2]=p;yh($,36552,_);rg(q,p);break d}else g=k[d+4>>2]|0;while(0);h=d+4|0;do if(!(c&7)){g=wo(q,g,(c*24|0)+192|0,0)|0;if(!g){rg(q,p);break d}else{k[h>>2]=g;n=j[t>>1]|0;break}}while(0);_=n<<16>>16;Z=g+(_*24|0)|0;k[Z+0>>2]=0;k[Z+4>>2]=0;k[Z+8>>2]=0;k[Z+12>>2]=0;k[Z+16>>2]=0;k[Z+20>>2]=0;k[Z>>2]=p;i[g+(_*24|0)+21>>0]=65;i[g+(_*24|0)+22>>0]=1;j[t>>1]=(j[t>>1]|0)+1<<16>>16}}while(0);Y=u;Z=k[Y+4>>2]|0;_=ba;k[_>>2]=k[Y>>2];k[_+4>>2]=Z;k[$+324>>2]=0;break}case 47:{$=k[a+(aa+-5<<4)+16>>2]|0;k[ba>>2]=$;k[ba+4>>2]=(k[a+(aa<<4)+16>>2]|0)+(k[a+(aa<<4)+20>>2]|0)-$;break}case 49:{$=k[a+(aa+-1<<4)+16>>2]|0;k[ba>>2]=$;k[ba+4>>2]=(k[a+(aa<<4)+16>>2]|0)+(k[a+(aa<<4)+20>>2]|0)-$;break}case 92:case 54:{Z=a+(aa<<4)+16|0;_=k[Z+4>>2]|0;$=$+320|0;k[$>>2]=k[Z>>2];k[$+4>>2]=_;break}case 57:case 55:{br($,a+(aa<<4)+16|0);break}case 64:{fr($,k[a+(aa+-1<<4)+16>>2]|0);break}case 65:{gr($,0,a+(aa+-2<<4)+16|0,k[a+(aa+-1<<4)+16>>2]|0,k[a+(aa<<4)+16>>2]|0);break}case 66:{d=k[a+(aa<<4)+16>>2]|0;e=k[$+484>>2]|0;if((e|0)!=0?(p=k[e+16>>2]|0,(p|0)!=0):0)i[p+24>>0]=d;break}case 67:{g=k[$+484>>2]|0;if((g|0)!=0?(A=(j[g+38>>1]|0)+-1|0,h=k[$>>2]|0,f=$q(h,a+(aa<<4)+16|0)|0,(f|0)!=0):0){if(!(hr($,f)|0)){rg(h,f);break a}n=g+4|0;rg(h,k[(k[n>>2]|0)+(A*24|0)+16>>2]|0);k[(k[n>>2]|0)+(A*24|0)+16>>2]=f;e=k[g+8>>2]|0;if(e)do{if((j[k[e+4>>2]>>1]|0)==(A|0))k[k[e+32>>2]>>2]=k[(k[n>>2]|0)+(A*24|0)+16>>2];e=k[e+20>>2]|0}while((e|0)!=0)}break}case 56:{br($,a+(aa+-1<<4)+16|0);break}case 226:{e=aa+-1|0;d=a+(e<<4)+16|0;h=a+(aa<<4)+16|0;g=ur(k[$>>2]|0,0,d,h)|0;n=aa+-3|0;f=cr($,75,k[a+(n<<4)+16>>2]|0,0,0)|0;k[ba>>2]=f;if(!f){Io(k[$>>2]|0,g);g=0}else{g=pr($,0,g,0,0,0,0,0,0,0)|0;k[f+20>>2]=g;g=k[ba>>2]|0;_=g+4|0;k[_>>2]=k[_>>2]|2099200;Dr($,g)}if(k[a+(aa+-2<<4)+16>>2]|0){$=cr($,19,g,0,0)|0;k[ba>>2]=$}k[ba+4>>2]=k[a+(n<<4)+20>>2];c=k[h>>2]|0;if(!c)c=(k[d>>2]|0)+(k[a+(e<<4)+20>>2]|0)|0;else c=c+(k[a+(aa<<4)+20>>2]|0)|0;k[ba+8>>2]=c;break}case 225:{e=aa+-4|0;c=cr($,75,k[a+(e<<4)+16>>2]|0,0,0)|0;k[ba>>2]=c;if(!c){Rk(k[$>>2]|0,k[a+(aa+-1<<4)+16>>2]|0,1);c=0}else{k[c+20>>2]=k[a+(aa+-1<<4)+16>>2];c=k[ba>>2]|0;_=c+4|0;k[_>>2]=k[_>>2]|2099200;Dr($,c)}if(k[a+(aa+-3<<4)+16>>2]|0){$=cr($,19,c,0,0)|0;k[ba>>2]=$}k[ba+4>>2]=k[a+(e<<4)+20>>2];k[ba+8>>2]=(k[a+(aa<<4)+16>>2]|0)+(k[a+(aa<<4)+20>>2]|0);break}case 227:{c=cr($,20,0,0,0)|0;k[ba>>2]=c;if(!c)Rk(k[$>>2]|0,k[a+(aa+-1<<4)+16>>2]|0,1);else{k[c+20>>2]=k[a+(aa+-1<<4)+16>>2];_=c+4|0;k[_>>2]=k[_>>2]|2099200;Dr($,c)}k[ba+4>>2]=k[a+(aa+-3<<4)+16>>2];k[ba+8>>2]=(k[a+(aa<<4)+16>>2]|0)+(k[a+(aa<<4)+20>>2]|0);break}case 228:{d=cr($,136,k[a+(aa+-3<<4)+16>>2]|0,0,0)|0;k[ba>>2]=d;if(!d){Sk(k[$>>2]|0,k[a+(aa+-2<<4)+16>>2]|0);Lk(k[$>>2]|0,k[a+(aa+-1<<4)+16>>2]|0)}else{e=k[a+(aa+-1<<4)+16>>2]|0;c=k[a+(aa+-2<<4)+16>>2]|0;if(e)c=qr($,c,e)|0;k[d+20>>2]=c;Dr($,k[ba>>2]|0)}k[ba+4>>2]=k[a+(aa+-4<<4)+16>>2];k[ba+8>>2]=(k[a+(aa<<4)+16>>2]|0)+(k[a+(aa<<4)+20>>2]|0);break}case 291:case 240:{k[ba>>2]=2;break}case 241:{k[ba>>2]=0;break}case 239:{er($,a+(aa+-7<<4)+16|0,a+(aa+-6<<4)+16|0,ur(k[$>>2]|0,0,a+(aa+-4<<4)+16|0,0)|0,k[a+(aa+-2<<4)+16>>2]|0,k[a+(aa+-10<<4)+16>>2]|0,a+(aa+-11<<4)+16|0,k[a+(aa<<4)+16>>2]|0,0,k[a+(aa+-8<<4)+16>>2]|0)|0;break}case 229:{$=qr($,qr($,k[a+(aa+-4<<4)+16>>2]|0,k[a+(aa+-2<<4)+16>>2]|0)|0,k[a+(aa<<4)+16>>2]|0)|0;k[ba>>2]=$;break}case 230:{$=qr($,qr($,0,k[a+(aa+-2<<4)+16>>2]|0)|0,k[a+(aa<<4)+16>>2]|0)|0;k[ba>>2]=$;break}case 237:{$=qr($,k[a+(aa+-2<<4)+16>>2]|0,k[a+(aa<<4)+16>>2]|0)|0;k[ba>>2]=$;break}case 238:{$=qr($,0,k[a+(aa<<4)+16>>2]|0)|0;k[ba>>2]=$;break}case 245:{c=qr($,0,Ar($,0,a+(aa+-1<<4)+16|0,1)|0)|0;k[ba>>2]=c;rr($,c,a+(aa+-2<<4)+16|0,1);if(c){if((k[c>>2]|0)>(k[(k[$>>2]|0)+96>>2]|0)){k[_>>2]=20632;yh($,34544,_)}i[(k[c+4>>2]|0)+(((k[c>>2]|0)+-1|0)*20|0)+12>>0]=k[a+(aa<<4)+16>>2]}break}case 244:{c=Ar($,0,a+(aa+-1<<4)+16|0,1)|0;c=qr($,k[a+(aa+-4<<4)+16>>2]|0,c)|0;k[ba>>2]=c;rr($,c,a+(aa+-2<<4)+16|0,1);if(c){if((k[c>>2]|0)>(k[(k[$>>2]|0)+96>>2]|0)){k[_>>2]=20632;yh($,34544,_)}i[(k[c+4>>2]|0)+(((k[c>>2]|0)+-1|0)*20|0)+12>>0]=k[a+(aa<<4)+16>>2]}break}case 248:{q=k[a+(aa<<4)+16>>2]|0;n=k[a+(aa+-1<<4)+16>>2]|0;p=k[$>>2]|0;do if((i[p+65>>0]|0)==0?(Ln($)|0)==0:0){h=q+12|0;d=gq(p,k[q+16>>2]|0,k[h>>2]|0)|0;if(!d){if(!n){k[_>>2]=q;k[_+4>>2]=0;yh($,33056,_)}else Er($,k[h>>2]|0);i[$+17>>0]=1;break}if(i[d+51>>0]&3){k[_>>2]=0;yh($,33080,_);break}n=k[d+24>>2]|0;f:do if(n){h=k[p+20>>2]|0;if((h|0)>0){g=k[p+16>>2]|0;o=0;while(1){f=o+1|0;if((k[g+(o<<4)+12>>2]|0)==(n|0)){f=o;break f}if((f|0)<(h|0))o=f;else break}}else f=0}else f=-1e6;while(0);n=k[d+12>>2]|0;h=p+16|0;g=k[(k[h>>2]|0)+(f<<4)>>2]|0;e=(f|0)==1?13184:13208;if(((Xq($,9,e,0,g)|0)==0?(Xq($,(f|0)==0?10:12,k[d>>2]|0,k[n>>2]|0,g)|0)==0:0)?(G=Tq($)|0,(G|0)!=0):0){Z=k[$+408>>2]|0;Z=(Z|0)==0?$:Z;Fr($,f);Y=Z+328|0;k[Y>>2]=k[Y>>2]|1<<f;Z=Z+20|0;i[Z>>0]=l[Z>>0]|1;Z=k[d>>2]|0;k[_>>2]=k[(k[h>>2]|0)+(f<<4)>>2];k[_+4>>2]=e;k[_+8>>2]=Z;Gr($,33160,_);Hr($,f,28536,k[d>>2]|0);Ir($,f);Jr($,k[d+40>>2]|0,f);$=k[d>>2]|0;Ch(G,Bh(G,125,f,0,0)|0,$,0)}}while(0);Io(p,q);break}case 246:{k[ba>>2]=0;k[ba+4>>2]=0;break}case 250:case 249:{c=Tq($)|0;if(c){Bh(c,13,0,0,0)|0;$=c+96|0;k[$>>2]=k[$>>2]|1}break}case 251:{Kr($,a+(aa+-1<<4)+16|0,a+(aa<<4)+16|0,0,0);break}case 252:{Kr($,a+(aa+-3<<4)+16|0,a+(aa+-2<<4)+16|0,a+(aa<<4)+16|0,0);break}case 253:{Kr($,a+(aa+-4<<4)+16|0,a+(aa+-3<<4)+16|0,a+(aa+-1<<4)+16|0,0);break}case 254:{Kr($,a+(aa+-3<<4)+16|0,a+(aa+-2<<4)+16|0,a+(aa<<4)+16|0,1);break}case 255:{Kr($,a+(aa+-4<<4)+16|0,a+(aa+-3<<4)+16|0,a+(aa+-1<<4)+16|0,1);break}case 264:{c=k[a+(aa+-3<<4)+16>>2]|0;e=(k[a+(aa<<4)+16>>2]|0)-c+(k[a+(aa<<4)+20>>2]|0)|0;d=k[a+(aa+-1<<4)+16>>2]|0;Z=$+488|0;w=k[Z>>2]|0;x=k[$>>2]|0;k[Z>>2]=0;g:do if((k[$+64>>2]|0)==0&(w|0)!=0){v=k[w>>2]|0;f=w+20|0;q=k[f>>2]|0;h:do if(q){p=k[x+20>>2]|0;if((p|0)>0){n=k[x+16>>2]|0;g=0;while(1){h=g+1|0;if((k[n+(g<<4)+12>>2]|0)==(q|0))break h;if((h|0)<(p|0))g=h;else{g=h;break}}}else g=0}else g=-1e6;while(0);k[w+28>>2]=d;u=(d|0)==0;if(!u){n=d;do{k[n+4>>2]=w;n=k[n+32>>2]|0}while((n|0)!=0)}k[X>>2]=v;if(!v)n=0;else{n=v;while(1)if(!(i[n>>0]|0))break;else n=n+1|0;n=n-v&1073741823}k[X+4>>2]=n;k[Y>>2]=$;t=x+16|0;q=k[t>>2]|0;k[Y+12>>2]=k[q+(g<<4)>>2];k[Y+4>>2]=k[q+(g<<4)+12>>2];k[Y+16>>2]=10720;k[Y+20>>2]=X;q=(g|0)==1;k[Y+8>>2]=q&1;if(!u)do{if(kr(Y,k[d+8>>2]|0)|0){d=0;e=w;break g}if(Lr(Y,k[d+20>>2]|0)|0){d=0;e=w;break g}if(Mr(Y,k[d+24>>2]|0)|0){d=0;e=w;break g}d=k[d+32>>2]|0}while((d|0)!=0);if(!(Lr(Y,k[w+12>>2]|0)|0)){n=x+145|0;if(!(i[n>>0]|0)){h=Tq($)|0;if(!h){d=0;e=w;break}Z=k[$+408>>2]|0;Fr($,g);Z=((Z|0)==0?$:Z)+328|0;k[Z>>2]=k[Z>>2]|1<<g;if((c|0)!=0?(o=ow(e|0,0,1,0)|0,o=rh(x,o,L)|0,(o|0)!=0):0){pw(o|0,c|0,e|0)|0;i[o+e>>0]=0}else o=0;Z=k[w+4>>2]|0;k[_>>2]=k[(k[t>>2]|0)+(g<<4)>>2];k[_+4>>2]=q?13184:13208;k[_+8>>2]=v;k[_+12>>2]=Z;k[_+16>>2]=o;Gr($,30008,_);rg(x,o);Ir($,g);k[_>>2]=v;Nr(h,g,zh(x,30072,_)|0);if(!(i[n>>0]|0)){d=0;e=w;break}}e=Nk((k[(k[t>>2]|0)+(g<<4)+12>>2]|0)+40|0,v,w)|0;if(e){i[x+65>>0]=1;d=0;break}d=k[f>>2]|0;if((d|0)==(k[w+24>>2]|0)){d=gn(d+8|0,k[w+4>>2]|0,_)|0;if(!d)d=0;else d=k[d+8>>2]|0;d=d+64|0;k[w+32>>2]=k[d>>2];k[d>>2]=w;d=0}else d=0}else{d=0;e=w}}else e=w;while(0);og(x,e);Kk(x,d);break}case 265:{A=a+(aa+-7<<4)+16|0;z=aa+-6|0;B=a+(z<<4)+16|0;h=k[a+(aa+-5<<4)+16>>2]|0;C=aa+-4|0;y=k[a+(C<<4)+16>>2]|0;C=k[a+(C<<4)+20>>2]|0;D=k[a+(aa+-2<<4)+16>>2]|0;E=k[a+(aa<<4)+16>>2]|0;d=k[a+(aa+-8<<4)+16>>2]|0;F=k[$>>2]|0;w=(k[a+(aa+-10<<4)+16>>2]|0)!=0;do if(w)if(!(k[a+(z<<4)+20>>2]|0)){k[Y>>2]=A;if(!D){n=0;o=0;break}else{q=1;Z=483;break}}else{yh($,29664,_);n=0;o=0;break}else{q=jr($,A,B,Y)|0;if((q|0)>-1&(D|0)!=0)Z=483;else{n=0;o=0}}while(0);do if((Z|0)==483){c=F+65|0;if(!(i[c>>0]|0)){u=F+145|0;if((i[u>>0]|0)!=0&(q|0)!=1){Z=D+12|0;rg(F,k[Z>>2]|0);k[Z>>2]=0}t=Or($,D)|0;if((i[u>>0]|0)==0?((t|0)!=0?(k[a+(z<<4)+20>>2]|0)==0:0):0)q=(k[t+68>>2]|0)==(k[(k[F+16>>2]|0)+28>>2]|0)?1:q;if((i[c>>0]|0)==0?(O=k[Y>>2]|0,Z=k[$>>2]|0,k[X>>2]=$,Z=k[Z+16>>2]|0,k[X+12>>2]=k[Z+(q<<4)>>2],k[X+4>>2]=k[Z+(q<<4)+12>>2],k[X+16>>2]=10720,k[X+20>>2]=O,k[X+8>>2]=(q|0)==1&1,(Pr(X,D)|0)==0):0){u=Or($,D)|0;if(!u){if((i[F+144>>0]|0)!=1){n=0;o=0;break}i[F+146>>0]=1;n=0;o=0;break}if(i[u+44>>0]&16){yh($,29712,_);n=0;o=0;break}o=$q(F,O)|0;if(o)if(!(Qr($,o)|0)){x=F+16|0;Z=gn((k[(k[x>>2]|0)+(q<<4)+12>>2]|0)+40|0,o,P)|0;if((Z|0)!=0?(k[Z+8>>2]|0)!=0:0)if(!d){k[_>>2]=O;yh($,29760,_);n=0;break}else{Fr($,q);n=0;break}v=k[u>>2]|0;if(!(Kc(v,25568,7)|0)){yh($,29792,_);n=$+64|0;k[n>>2]=(k[n>>2]|0)+1;n=0;break}p=k[u+12>>2]|0;if((p|0)!=0&(h|0)!=49){k[_>>2]=(h|0)==35?29872:29880;k[_+4>>2]=D;k[_+8>>2]=0;yh($,29832,_);n=0;break}g=(h|0)==49;if((p|0)==0&g){k[_>>2]=D;k[_+4>>2]=0;yh($,29888,_);n=0;break}f=u+68|0;u=k[f>>2]|0;i:do if(u){t=k[F+20>>2]|0;if((t|0)>0){d=k[x>>2]|0;e=0;while(1){c=e+1|0;if((k[d+(e<<4)+12>>2]|0)==(u|0)){c=e;break i}if((c|0)<(t|0))e=c;else break}}else c=0}else c=-1e6;while(0);u=k[x>>2]|0;d=k[u+(c<<4)>>2]|0;if(w)t=k[u+16>>2]|0;else t=d;u=(c|0)==1;if((Xq($,u|w?5:7,o,v,t)|0)==0?(Xq($,18,u?13184:13208,0,d)|0)==0:0){n=rh(F,36,0)|0;if(!n){n=0;break}v=n+0|0;d=v+36|0;do{i[v>>0]=0;v=v+1|0}while((v|0)<(d|0));k[n>>2]=o;o=ph(F,k[D+16>>2]|0)|0;k[n+4>>2]=o;k[n+20>>2]=k[(k[x>>2]|0)+(q<<4)+12>>2];k[n+24>>2]=k[f>>2];i[n+8>>0]=y;i[n+9>>0]=g|(h|0)==35?1:2;o=Rr(F,E,1,0)|0;k[n+12>>2]=o;o=Sr(F,C)|0;k[n+16>>2]=o;k[$+488>>2]=n;o=0}else n=0}else n=0;else{n=0;o=0}}else{n=0;o=0}}else{n=0;o=0}}while(0);rg(F,o);Io(F,D);Mk(F,C);Lk(F,E);if(!(k[$+488>>2]|0))og(F,n);if(!(k[a+(z<<4)+20>>2]|0)){Z=A;_=k[Z+4>>2]|0;$=ba;k[$>>2]=k[Z>>2];k[$+4>>2]=_;break a}else{Z=B;_=k[Z+4>>2]|0;$=ba;k[$>>2]=k[Z>>2];k[$+4>>2]=_;break a}}case 269:case 266:{k[ba>>2]=35;break}case 267:{k[ba>>2]=31;break}case 268:{k[ba>>2]=49;break}case 284:{e=k[$>>2]|0;d=k[a+(aa+-1<<4)+16>>2]|0;c=k[a+(aa<<4)+16>>2]|0;f=i[a+(aa+-5<<4)+16>>0]|0;g=Tr(e,110,a+(aa+-4<<4)+16|0)|0;if(g){$=Ur(e,d,1)|0;k[g+24>>2]=$;$=Rr(e,c,1,0)|0;k[g+20>>2]=$;i[g+1>>0]=f}Sk(e,d);Lk(e,c);k[ba>>2]=g;break}case 271:case 270:{k[ba>>2]=l[a+(aa<<4)+14>>0];k[ba+4>>2]=0;break}case 272:{k[ba>>2]=110;k[ba+4>>2]=k[a+(aa<<4)+16>>2];break}case 296:case 275:{k[ba>>2]=0;break}case 297:case 276:{k[ba>>2]=k[a+(aa<<4)+16>>2];break}case 277:{_=a+(aa+-1<<4)+16|0;$=a+(aa+-2<<4)+16|0;k[(k[(k[$>>2]|0)+36>>2]|0)+32>>2]=k[_>>2];k[(k[$>>2]|0)+36>>2]=k[_>>2];k[ba>>2]=k[$>>2];break}case 278:{$=a+(aa+-1<<4)+16|0;_=k[$>>2]|0;k[_+36>>2]=_;k[ba>>2]=k[$>>2];break}case 282:{yh($,20736,_);break}case 280:{X=a+(aa<<4)+16|0;Y=k[X+4>>2]|0;Z=ba;k[Z>>2]=k[X>>2];k[Z+4>>2]=Y;yh($,20640,_);break}case 283:{yh($,20824,_);break}case 286:{c=k[$>>2]|0;d=k[a+(aa<<4)+16>>2]|0;e=Tr(c,109,a+(aa+-2<<4)+16|0)|0;if(e){$=Rr(c,d,1,0)|0;k[e+20>>2]=$;i[e+1>>0]=10}Lk(c,d);k[ba>>2]=e;break}case 287:{e=k[$>>2]|0;g=k[a+(aa<<4)+16>>2]|0;c=rh(e,40,0)|0;if(!c){Rk(e,g,1);c=0}else{v=c+0|0;d=v+40|0;do{i[v>>0]=0;v=v+1|0}while((v|0)<(d|0));i[c>>0]=119;k[c+8>>2]=g;i[c+1>>0]=10}k[ba>>2]=c;break}case 285:{g=k[$>>2]|0;f=k[a+(aa+-1<<4)+16>>2]|0;e=k[a+(aa<<4)+16>>2]|0;d=i[a+(aa+-4<<4)+16>>0]|0;c=Tr(g,108,a+(aa+-2<<4)+16|0)|0;if(!c)Mk(g,f);else{$=lr(g,e,1)|0;k[c+8>>2]=$;k[c+28>>2]=f;i[c+1>>0]=d}Rk(g,e,1);k[ba>>2]=c;break}case 288:{c=cr($,57,0,0,0)|0;k[ba>>2]=c;if(c)i[c+1>>0]=4;k[ba+4>>2]=k[a+(aa+-3<<4)+16>>2];k[ba+8>>2]=(k[a+(aa<<4)+16>>2]|0)+(k[a+(aa<<4)+20>>2]|0);break}case 289:{c=cr($,57,0,0,a+(aa+-1<<4)+16|0)|0;k[ba>>2]=c;if(c)i[c+1>>0]=k[a+(aa+-3<<4)+16>>2];k[ba+4>>2]=k[a+(aa+-5<<4)+16>>2];k[ba+8>>2]=(k[a+(aa<<4)+16>>2]|0)+(k[a+(aa<<4)+20>>2]|0);break}case 290:{k[ba>>2]=1;break}case 292:{k[ba>>2]=3;break}case 293:{d=k[a+(aa<<4)+16>>2]|0;c=k[a+(aa+-1<<4)+16>>2]|0;t=k[$>>2]|0;do if((i[t+65>>0]|0)==0?(Ln($)|0)==0:0){u=k[d+12>>2]|0;q=k[d+16>>2]|0;p=t+20|0;if((k[p>>2]|0)>0){g=(u|0)==0;f=t+16|0;e=0;n=0;do{h=(e|0)<2^e;o=k[f>>2]|0;if(!(!g?(id(k[o+(h<<4)>>2]|0,u)|0)!=0:0)){o=gn((k[o+(h<<4)+12>>2]|0)+40|0,q,H)|0;if(o){n=k[o+8>>2]|0;if(n)break}else n=0}e=e+1|0}while((e|0)<(k[p>>2]|0));if(n){Vr($,n);break}}if(!c){k[_>>2]=d;k[_+4>>2]=0;yh($,29600,_)}else Er($,u);i[$+17>>0]=1}while(0);Io(t,d);break}case 294:{_=k[a+(aa+-3<<4)+16>>2]|0;Wr($,24,29360,_,_,k[a+(aa+-1<<4)+16>>2]|0,k[a+(aa<<4)+16>>2]|0);break}case 303:{Yr($,a+(aa+-1<<4)+16|0,a+(aa<<4)+16|0);break}case 304:{w=k[a+(aa+-3<<4)+16>>2]|0;u=a+(aa<<4)+16|0;v=k[$>>2]|0;d=v+24|0;e=k[d>>2]|0;do if((i[v+65>>0]|0)==0?(U=Zr($,0,w+8|0)|0,(U|0)!=0):0){o=k[$>>2]|0;x=U+68|0;q=k[x>>2]|0;j:do if(q){p=k[o+20>>2]|0;if((p|0)>0){o=k[o+16>>2]|0;h=0;while(1){n=h+1|0;if((k[o+(h<<4)+12>>2]|0)==(q|0)){n=h;break j}if((n|0)<(p|0))h=n;else break}}else n=0}else n=-1e6;while(0);c=k[(k[v+16>>2]|0)+(n<<4)>>2]|0;k[d>>2]=k[d>>2]|2097152;g=$q(v,u)|0;if(g){if((di(v,g,c)|0)==0?(gq(v,g,c)|0)==0:0){if(_r($,k[U>>2]|0)|0)break;if(Qr($,g)|0)break;o=k[U>>2]|0;if(k[U+12>>2]|0){k[_>>2]=o;yh($,26088,_);break}if(Xq($,26,c,o,0)|0)break;if(mr($,U)|0)break;if(!(i[U+44>>0]&16))f=0;else{o=k[U+60>>2]|0;k:do if(!o)o=0;else while(1){if((k[o>>2]|0)==(v|0))break k;o=k[o+24>>2]|0;if(!o){o=0;break}}while(0);f=(k[(k[k[o+8>>2]>>2]|0)+76>>2]|0)==0?0:o}o=Tq($)|0;if(!o)break;Z=(f|0)!=0;h=$+408|0;Y=k[h>>2]|0;Y=(Y|0)==0?$:Y;Fr($,n);X=Y+328|0;k[X>>2]=k[X>>2]|1<<n;Y=Y+20|0;i[Y>>0]=l[Y>>0]|Z&1;Ir($,n);if(Z){Y=$+72|0;Z=(k[Y>>2]|0)+1|0;k[Y>>2]=Z;Ch(o,Bh(o,97,0,Z,0)|0,g,0);Ch(o,Bh(o,152,Z,0,0)|0,f,-10);Z=k[h>>2]|0;i[((Z|0)==0?$:Z)+21>>0]=1}u=k[U>>2]|0;t=Sn(u,-1)|0;do if((k[d>>2]&524288|0)!=0?(Q=gn((k[x>>2]|0)+56|0,u,S)|0,(Q|0)!=0):0){o=k[Q+8>>2]|0;if(!o)break;h=o;o=0;do{o=$r(k[$>>2]|0,o,k[k[h>>2]>>2]|0)|0;h=k[h+12>>2]|0}while((h|0)!=0);if(!o)break;k[_>>2]=c;k[_+4>>2]=(n|0)==1?13184:13208;k[_+8>>2]=u;k[_+12>>2]=g;k[_+16>>2]=o;Gr($,26120,_);rg(v,o)}while(0);k[_>>2]=c;k[_+4>>2]=(n|0)==1?13184:13208;k[_+8>>2]=g;k[_+12>>2]=g;k[_+16>>2]=g;k[_+20>>2]=g;k[_+24>>2]=g;k[_+28>>2]=t;k[_+32>>2]=u;Gr($,26192,_);if(di(v,26576,c)|0){Z=k[U>>2]|0;k[_>>2]=c;k[_+4>>2]=g;k[_+8>>2]=Z;Gr($,26592,_)}n=as($,U)|0;if(n){k[_>>2]=g;k[_+4>>2]=g;k[_+8>>2]=n;Gr($,26656,_);rg(v,n)}do if(k[d>>2]&524288){n=gn((k[x>>2]|0)+56|0,k[U>>2]|0,_)|0;if(!n)break;n=k[n+8>>2]|0;if(!n)break;do{h=k[n>>2]|0;if((h|0)!=(U|0))bs($,h,k[h>>2]|0);n=k[n+12>>2]|0}while((n|0)!=0)}while(0);bs($,U,g);break}k[_>>2]=g;yh($,26024,_)}else g=0}else g=0;while(0);Io(v,w);rg(v,g);k[d>>2]=e;break}case 295:{_=k[a+(aa<<4)+16>>2]|0;Wr($,25,29176,_,0,0,_);break}case 300:{Xr($,0,0);break}case 302:{Yr($,0,0);break}case 301:{Xr($,a+(aa+-1<<4)+16|0,a+(aa<<4)+16|0);break}case 305:{v=k[$>>2]|0;if((k[$+64>>2]|0)==0?(I=v+65|0,(i[I>>0]|0)==0):0){e=k[$+484>>2]|0;o=k[e+68>>2]|0;l:do if(o){n=k[v+20>>2]|0;if((n|0)>0){h=k[v+16>>2]|0;f=0;while(1){g=f+1|0;if((k[h+(f<<4)+12>>2]|0)==(o|0)){x=f;break l}if((g|0)<(n|0))f=g;else{x=g;break}}}else x=0}else x=-1e6;while(0);c=k[(k[v+16>>2]|0)+(x<<4)>>2]|0;d=(k[e>>2]|0)+16|0;p=(j[e+38>>1]|0)+-1|0;n=k[e+4>>2]|0;o=k[n+(p*24|0)+4>>2]|0;w=di(v,d,c)|0;if(!(Xq($,26,c,k[w>>2]|0,0)|0)){if(!o)q=0;else q=(i[o>>0]|0)==101?0:o;if(i[n+(p*24|0)+23>>0]&1){yh($,25608,_);break a}if(k[e+8>>2]|0){yh($,25640,_);break a}u=v+24|0;if((k[u>>2]&524288|0)!=0?(k[e+16>>2]|0)!=0&(q|0)!=0:0){yh($,25672,_);break a}t=(q|0)!=0;if(!((i[n+(p*24|0)+20>>0]|0)==0|t)){yh($,25736,_);break a}do if(t){k[K>>2]=0;if(cs(v,q,1,65,K)|0){i[I>>0]=1;break a}o=k[K>>2]|0;if(!o){yh($,25792,_);break a}else{Rh(o);break}}while(0);o=k[a+(aa<<4)+16>>2]|0;n=a+(aa<<4)+20|0;h=k[n>>2]|0;if((o|0)!=0?(R=ow(h|0,0,1,0)|0,R=rh(v,R,L)|0,(R|0)!=0):0){pw(R|0,o|0,h|0)|0;i[R+h>>0]=0;o=(k[n>>2]|0)+-1|0;n=k[u>>2]|0;m:do if((o|0)>0){o=R+o|0;do{Y=i[o>>0]|0;if(Y<<24>>24!=59?(i[10368+(Y&255)>>0]&1)==0:0)break m;i[o>>0]=0;o=o+-1|0}while(o>>>0>R>>>0)}while(0);k[u>>2]=k[u>>2]|2097152;Y=k[e+48>>2]|0;k[_>>2]=c;k[_+4>>2]=(x|0)==1?13184:13208;k[_+8>>2]=Y;k[_+12>>2]=R;k[_+16>>2]=Y+1;k[_+20>>2]=d;Gr($,25840,_);rg(v,R);k[u>>2]=n}o=t?3:2;q=Tq($)|0;if(q){n=$+19|0;g=i[n>>0]|0;do if(g<<24>>24){_=g+-1<<24>>24;i[n>>0]=_;h=k[$+((_&255)<<2)+24>>2]|0;if(!(_<<24>>24)){n=k[$+72>>2]|0;Z=663;break}else{d=g+-2<<24>>24;i[n>>0]=d;d=k[$+((d&255)<<2)+24>>2]|0;break}}else{h=$+72|0;n=(k[h>>2]|0)+1|0;k[h>>2]=n;h=n;Z=663}while(0);if((Z|0)==663){d=n+1|0;k[$+72>>2]=d}Bh(q,51,x,h,2)|0;f=q+96|0;k[f>>2]=k[f>>2]|1<<x;Bh(q,25,o,d,0)|0;f=Bh(q,83,d,0,h)|0;e=q+4|0;g=k[e>>2]|0;n=q+32|0;if(g)i[g+(((k[n>>2]|0)+-1|0)*20|0)+3>>0]=-112;Bh(q,52,x,2,d)|0;n=k[n>>2]|0;if(n>>>0>f>>>0)k[(k[e>>2]|0)+(f*20|0)+8>>2]=n;k[(k[q+24>>2]|0)+88>>2]=n+-1;ds($,h);ds($,d)}bs($,w,k[w>>2]|0)}}break}case 306:{t=k[$>>2]|0;i[t+250>>0]=0;c=k[a+(aa<<4)+16>>2]|0;u=t+65|0;do if((i[u>>0]|0)==0?(N=Zr($,0,c+8|0)|0,(N|0)!=0):0){if(i[N+44>>0]&16){yh($,25400,_);break}if(k[N+12>>2]|0){yh($,25440,_);break}if(!(_r($,k[N>>2]|0)|0)){n=k[N+68>>2]|0;n:do if(n){h=k[t+20>>2]|0;if((h|0)>0){g=k[t+16>>2]|0;o=0;while(1){f=o+1|0;if((k[g+(o<<4)+12>>2]|0)==(n|0)){f=o;break n}if((f|0)<(h|0))o=f;else break}}else f=0}else f=-1e6;while(0);q=rh(t,76,0)|0;if(q){v=q+0|0;d=v+76|0;do{i[v>>0]=0;v=v+1|0}while((v|0)<(d|0));k[$+484>>2]=q;h=q+40|0;j[h>>1]=1;o=j[N+38>>1]|0;g=q+38|0;j[g>>1]=o;o=((((o<<16>>16)+-1|0)/8|0)*192|0)+192|0;n=rh(t,o,0)|0;if(n)kw(n|0,0,o|0)|0;o=q+4|0;k[o>>2]=n;k[_>>2]=k[N>>2];_=zh(t,25472,_)|0;k[q>>2]=_;n=k[o>>2]|0;if((n|0)==0|(_|0)==0){i[u>>0]=1;break}pw(n|0,k[N+4>>2]|0,(j[g>>1]|0)*24|0)|0;if((j[g>>1]|0)>0){n=0;do{_=k[o>>2]|0;Z=_+(n*24|0)|0;Y=ph(t,k[Z>>2]|0)|0;k[Z>>2]=Y;_=_+(n*24|0)+4|0;n=n+1|0;k[_+0>>2]=0;k[_+4>>2]=0;k[_+8>>2]=0;k[_+12>>2]=0}while((n|0)<(j[g>>1]|0))}k[q+68>>2]=k[(k[t+16>>2]|0)+(f<<4)+12>>2];k[q+48>>2]=k[N+48>>2];j[h>>1]=1;_=k[$+408>>2]|0;Fr($,f);_=((_|0)==0?$:_)+328|0;k[_>>2]=k[_>>2]|1<<f;if(Tq($)|0)Ir($,f)}}}while(0);Io(t,c);break}case 309:{es($,0);break}case 310:{es($,a+(aa<<4)+16|0);break}case 311:{d=a+(aa<<4)+16|0;Zq($,a+(aa+-3<<4)+16|0,a+(aa+-2<<4)+16|0,0,0,1,k[a+(aa+-4<<4)+16>>2]|0);o=k[$+484>>2]|0;if(o){c=k[$>>2]|0;n=k[o+68>>2]|0;o:do if(n){h=k[c+20>>2]|0;if((h|0)>0){f=k[c+16>>2]|0;e=0;while(1){g=e+1|0;if((k[f+(e<<4)+12>>2]|0)==(n|0)){g=e;break o}if((g|0)<(h|0))e=g;else break}}else g=0}else g=-1e6;while(0);e=o+44|0;i[e>>0]=l[e>>0]|16;k[o+52>>2]=0;fs(c,o,$q(c,d)|0);fs(c,o,0);fs(c,o,ph(c,k[o>>2]|0)|0);k[$+500>>2]=(k[d>>2]|0)+(k[a+(aa<<4)+20>>2]|0)-(k[$+496>>2]|0);e=k[o+56>>2]|0;if(e)Xq($,29,k[o>>2]|0,k[e>>2]|0,k[(k[(k[$>>2]|0)+16>>2]|0)+(g<<4)>>2]|0)|0}break}case 322:{k[ba>>2]=0;break}case 324:case 323:{k[ba>>2]=k[a+(aa<<4)+16>>2];break}case 325:{$=hs($,0,a+(aa+-5<<4)+16|0,k[a+(aa+-4<<4)+16>>2]|0,k[a+(aa+-1<<4)+16>>2]|0)|0;k[ba>>2]=$;break}case 326:{$=hs($,k[a+(aa+-7<<4)+16>>2]|0,a+(aa+-5<<4)+16|0,k[a+(aa+-4<<4)+16>>2]|0,k[a+(aa+-1<<4)+16>>2]|0)|0;k[ba>>2]=$;break}case 314:{gs($);k[$+512>>2]=0;k[$+516>>2]=0;break}case 318:case 317:case 316:{e=$+512|0;d=k[e>>2]|0;c=k[a+(aa<<4)+16>>2]|0;if(!d){k[e>>2]=c;c=k[a+(aa<<4)+20>>2]|0}else c=c+(k[a+(aa<<4)+20>>2]|0)-d|0;k[$+516>>2]=c;break}case 77:{k[ba>>2]=8;break}case 78:{k[ba>>2]=9;break}case 79:{k[ba>>2]=6;break}case 80:{k[ba>>2]=0;break}case 103:case 100:case 98:case 82:{k[ba>>2]=k[a+(aa<<4)+16>>2];break}case 86:{k[ba+4>>2]=0;k[ba>>2]=0;break}case 87:{Z=a+(aa+-1<<4)+16|0;_=k[Z+4>>2]|0;$=ba;k[$>>2]=k[Z>>2];k[$+4>>2]=_;break}case 90:{k[$+324>>2]=0;break}case 99:{k[ba>>2]=10;break}case 101:{i[ba>>0]=10;break}case 102:{i[ba>>0]=k[a+(aa<<4)+16>>2];break}case 104:{k[ba>>2]=4;break}case 105:{k[ba>>2]=5;break}case 106:{ir($,k[a+(aa<<4)+16>>2]|0,0,k[a+(aa+-1<<4)+16>>2]|0);break}case 93:{dr($,k[a+(aa+-3<<4)+16>>2]|0,k[a+(aa<<4)+16>>2]|0,k[a+(aa+-2<<4)+16>>2]|0,0);break}case 94:{er($,0,0,0,k[a+(aa+-2<<4)+16>>2]|0,k[a+(aa<<4)+16>>2]|0,0,0,0,0)|0;break}case 95:{fr($,k[a+(aa+-2<<4)+16>>2]|0);break}case 96:{gr($,k[a+(aa+-6<<4)+16>>2]|0,a+(aa+-3<<4)+16|0,k[a+(aa+-2<<4)+16>>2]|0,k[a+(aa+-1<<4)+16>>2]|0);d=k[a+(aa<<4)+16>>2]|0;e=k[$+484>>2]|0;if((e|0)!=0?(g=k[e+16>>2]|0,(g|0)!=0):0)i[g+24>>0]=d;break}case 109:{c=aa+-7|0;h=a+(aa+-3<<4)+16|0;g=a+(aa+-2<<4)+16|0;u=k[a+(aa<<4)+16>>2]|0;o=k[a+(aa+-6<<4)+16>>2]|0;n=k[a+(aa+-4<<4)+16>>2]|0;k[E>>2]=0;t=k[$>>2]|0;if((k[$+440>>2]|0)>0){yh($,35440,_);Rk(t,u,1);break a}Zq($,h,g,o,1,0,n);e=k[$+484>>2]|0;if((e|0)!=0?(k[$+64>>2]|0)==0:0){jr($,h,g,E)|0;o=k[e+68>>2]|0;p:do if(o){h=k[t+20>>2]|0;if((h|0)>0){g=k[t+16>>2]|0;f=0;while(1){n=f+1|0;if((k[g+(f<<4)+12>>2]|0)==(o|0)){n=f;break p}if((n|0)<(h|0))f=n;else break}}else n=0}else n=-1e6;while(0);_=k[E>>2]|0;Z=k[$>>2]|0;k[X>>2]=$;Z=k[Z+16>>2]|0;k[X+12>>2]=k[Z+(n<<4)>>2];k[X+4>>2]=k[Z+(n<<4)+12>>2];k[X+16>>2]=35480;k[X+20>>2]=_;k[X+8>>2]=(n|0)==1&1;if(kr(X,u)|0){Rk(t,u,1);break a}_=lr(t,u,1)|0;k[e+12>>2]=_;Rk(t,u,1);if(i[t+65>>0]|0)break a;if(!(i[t+145>>0]|0))mr($,e)|0;g=$+504|0;f=k[g>>2]|0;g=k[g+4>>2]|0;_=Y;k[_>>2]=f;k[_+4>>2]=g;_=i[f>>0]|0;if(!(_<<24>>24==59|_<<24>>24==0)){f=f+g|0;k[Y>>2]=f}h=Y+4|0;k[h>>2]=0;n=k[a+(c<<4)+16>>2]|0;g=f-n|0;do{_=g;g=g+-1|0;e=n+g|0;if((_|0)<=0)break}while((i[10368+(l[e>>0]|0)>>0]&1)!=0);k[Y>>2]=e;k[h>>2]=1;_q($,0,Y,0,0);break a}Rk(t,u,1);break}case 110:{ir($,k[a+(aa<<4)+16>>2]|0,1,k[a+(aa+-1<<4)+16>>2]|0);break}case 111:{k[w+0>>2]=k[5124];k[w+4>>2]=k[5125];k[w+8>>2]=k[5126];k[w+12>>2]=k[5127];k[w+16>>2]=k[5128];_=a+(aa<<4)+16|0;nr($,k[_>>2]|0,w)|0;Rk(k[$>>2]|0,k[_>>2]|0,1);break}case 112:{o=k[a+(aa<<4)+16>>2]|0;do if(o){k[o+68>>2]=k[a+(aa+-1<<4)+16>>2];e=k[o+52>>2]|0;if(e){f=128;g=1;h=o;n=0;while(1){k[h+56>>2]=n;Y=h+6|0;Z=m[Y>>1]|64;j[Y>>1]=Z;f=Z&f;if(!e)break;Z=e;e=k[e+52>>2]|0;g=g+1|0;n=h;h=Z}if(f){$=o+6|0;j[$>>1]=m[$>>1]|256;break}Z=k[(k[$>>2]|0)+104>>2]|0;if((Z|0)>0&(g|0)>(Z|0))yh($,20520,_)}}else Vn(k[$>>2]|0,k[a+(aa+-1<<4)+16>>2]|0);while(0);k[ba>>2]=o;break}case 119:case 113:{k[ba>>2]=k[a+(aa<<4)+16>>2];break}case 114:{c=k[a+(aa<<4)+16>>2]|0;do if(c){if(k[c+52>>2]|0){k[e+4>>2]=0;c=pr($,0,or($,0,0,0,e,c,0,0)|0,0,0,0,0,0,0,0)|0;if(!c){Z=192;break}}_=k[a+(aa+-1<<4)+16>>2]|0;i[c+4>>0]=_;k[c+52>>2]=k[a+(aa+-2<<4)+16>>2];if((_|0)!=116)i[$+22>>0]=1}else Z=192;while(0);if((Z|0)==192){Rk(k[$>>2]|0,k[a+(aa+-2<<4)+16>>2]|0,1);c=0}k[ba>>2]=c;break}case 116:{k[ba>>2]=116;break}case 169:{c=k[a+(aa+-5<<4)+16>>2]|0;if(c){_=$+532|0;k[c+4>>2]=k[_>>2];k[_>>2]=c;i[$+449>>0]=1}_=a+(aa+-2<<4)+16|0;tr($,k[_>>2]|0,a+(aa+-1<<4)+16|0);wr($,k[_>>2]|0,k[a+(aa<<4)+16>>2]|0);break}case 172:{e=k[a+(aa+-7<<4)+16>>2]|0;if(e){Z=$+532|0;k[e+4>>2]=k[Z>>2];k[Z>>2]=e;i[$+449>>0]=1}f=a+(aa+-4<<4)+16|0;tr($,k[f>>2]|0,a+(aa+-3<<4)+16|0);g=a+(aa+-1<<4)+16|0;e=k[g>>2]|0;if(e){if((k[e>>2]|0)>(k[(k[$>>2]|0)+96>>2]|0)){k[_>>2]=20560;yh($,34544,_);e=k[g>>2]|0}}else e=0;xr($,k[f>>2]|0,e,k[a+(aa<<4)+16>>2]|0,l[a+(aa+-5<<4)+16>>0]|0);break}case 176:{c=k[a+(aa+-6<<4)+16>>2]|0;if(c){_=$+532|0;k[c+4>>2]=k[_>>2];k[_>>2]=c;i[$+449>>0]=1}yr($,k[a+(aa+-3<<4)+16>>2]|0,0,k[a+(aa+-2<<4)+16>>2]|0,l[a+(aa+-5<<4)+16>>0]|0);break}case 173:{_=qr($,k[a+(aa+-4<<4)+16>>2]|0,k[a+(aa<<4)+16>>2]|0)|0;k[ba>>2]=_;rr($,_,a+(aa+-2<<4)+16|0,1);break}case 174:{_=qr($,0,k[a+(aa<<4)+16>>2]|0)|0;k[ba>>2]=_;rr($,_,a+(aa+-2<<4)+16|0,1);break}case 175:{c=k[a+(aa+-5<<4)+16>>2]|0;if(c){_=$+532|0;k[c+4>>2]=k[_>>2];k[_>>2]=c;i[$+449>>0]=1}yr($,k[a+(aa+-2<<4)+16>>2]|0,k[a+(aa<<4)+16>>2]|0,k[a+(aa+-1<<4)+16>>2]|0,l[a+(aa+-4<<4)+16>>0]|0);break}case 181:{$=zr(k[$>>2]|0,k[a+(aa+-2<<4)+16>>2]|0,a+(aa<<4)+16|0)|0;k[ba>>2]=$;break}case 182:{$=zr(k[$>>2]|0,0,a+(aa<<4)+16|0)|0;k[ba>>2]=$;break}case 183:{$=a+(aa<<4)+16|0;k[ba+0>>2]=k[$+0>>2];k[ba+4>>2]=k[$+4>>2];k[ba+8>>2]=k[$+8>>2];break}case 177:{i[ba>>0]=i[a+(aa<<4)+16>>0]|0;break}case 178:{i[ba>>0]=5;break}case 184:{k[ba>>2]=k[a+(aa+-1<<4)+16>>2];k[ba+4>>2]=k[a+(aa+-2<<4)+16>>2];k[ba+8>>2]=(k[a+(aa<<4)+16>>2]|0)+(k[a+(aa<<4)+20>>2]|0);break}case 191:case 190:case 185:{_=a+(aa<<4)+16|0;$=cr($,l[a+(aa<<4)+14>>0]|0,0,0,_)|0;k[ba>>2]=$;$=k[_>>2]|0;k[ba+4>>2]=$;k[ba+8>>2]=$+(k[a+(aa<<4)+20>>2]|0);break}case 187:case 186:{_=a+(aa<<4)+16|0;$=cr($,27,0,0,_)|0;k[ba>>2]=$;$=k[_>>2]|0;k[ba+4>>2]=$;k[ba+8>>2]=$+(k[a+(aa<<4)+20>>2]|0);break}case 188:{Z=a+(aa+-2<<4)+16|0;_=a+(aa<<4)+16|0;$=cr($,122,cr($,27,0,0,Z)|0,cr($,27,0,0,_)|0,0)|0;k[ba>>2]=$;k[ba+4>>2]=k[Z>>2];k[ba+8>>2]=(k[_>>2]|0)+(k[a+(aa<<4)+20>>2]|0);break}case 189:{Z=a+(aa+-4<<4)+16|0;_=a+(aa<<4)+16|0;$=cr($,122,cr($,27,0,0,Z)|0,cr($,122,cr($,27,0,0,a+(aa+-2<<4)+16|0)|0,cr($,27,0,0,_)|0,0)|0,0)|0;k[ba>>2]=$;k[ba+4>>2]=k[Z>>2];k[ba+8>>2]=(k[_>>2]|0)+(k[a+(aa<<4)+20>>2]|0);break}case 192:{u=a+(aa<<4)+16|0;t=a+(aa<<4)+20|0;do if(((k[t>>2]|0)>>>0>1?(z=k[u>>2]|0,(i[z>>0]|0)==35):0)?((l[z+1>>0]|0)+-48|0)>>>0<10:0){if(!(i[$+18>>0]|0)){k[_>>2]=u;yh($,20432,_);k[ba>>2]=0;break}h=cr($,159,0,0,u)|0;k[ba>>2]=h;if(h)In((k[u>>2]|0)+1|0,h+28|0)|0}else Z=298;while(0);q:do if((Z|0)==298?(M=cr($,135,0,0,u)|0,k[ba>>2]=M,T=k[u>>2]|0,k[ba+4>>2]=T,k[ba+8>>2]=T+(k[t>>2]|0),T=k[$>>2]|0,(M|0)!=0):0){w=k[M+8>>2]|0;h=w+1|0;do if(i[h>>0]|0){v=(w|0)==0;if(v)x=0;else{o=w;while(1)if(!(i[o>>0]|0))break;else o=o+1|0;x=o-w&1073741823}r:do if((i[w>>0]|0)==63){Y=Zl(h,D,x+-1|0,1)|0;f=D;g=k[f>>2]|0;f=k[f+4>>2]|0;o=g&65535;j[M+32>>1]=o;h=k[T+124>>2]|0;Z=((h|0)<0)<<31>>31;if((f|0)<0|(f|0)==0&g>>>0<1|(Y|0)!=0|((f|0)>(Z|0)|(f|0)==(Z|0)&g>>>0>h>>>0)){k[_>>2]=h;yh($,33296,_);o=0}h=$+440|0;Z=k[h>>2]|0;Y=((Z|0)<0)<<31>>31;if((f|0)>(Y|0)|(f|0)==(Y|0)&g>>>0>Z>>>0)k[h>>2]=g}else{h=k[$+444>>2]|0;s:do if((h|0)>0){g=k[$+472>>2]|0;o=0;e=0;while(1){f=k[g+(o<<2)>>2]|0;if((f|0)!=0?(dw(f,w)|0)==0:0)break;e=e+1<<16>>16;o=e<<16>>16;if((o|0)>=(h|0)){Z=315;break s}}o=o+1&65535;h=M+32|0;j[h>>1]=o;if(o<<16>>16)break r}else Z=315;while(0);if((Z|0)==315)h=M+32|0;Z=$+440|0;o=(k[Z>>2]|0)+1|0;k[Z>>2]=o;o=o&65535;j[h>>1]=o}while(0);f=o<<16>>16;if(o<<16>>16>0){o=$+444|0;if((f|0)>(k[o>>2]|0)){h=$+472|0;g=wo(T,k[h>>2]|0,f<<2,0)|0;if(!g)break q;k[h>>2]=g;Z=k[o>>2]|0;kw(g+(Z<<2)|0,0,f-Z<<2|0)|0;k[o>>2]=f}if((i[w>>0]|0)==63){h=f+-1|0;if(!(k[(k[$+472>>2]|0)+(h<<2)>>2]|0))o=0;else break}else{o=f+-1|0;h=o;o=k[(k[$+472>>2]|0)+(o<<2)>>2]|0}g=$+472|0;rg(T,o);if(!v?(n=ow(x|0,0,1,0)|0,n=rh(T,n,L)|0,(n|0)!=0):0){pw(n|0,w|0,x|0)|0;i[n+x>>0]=0}else n=0;k[(k[g>>2]|0)+(h<<2)>>2]=n}}else{Y=$+440|0;Z=(k[Y>>2]|0)+1|0;k[Y>>2]=Z;j[M+32>>1]=Z}while(0);if((k[$+64>>2]|0)==0?(k[$+440>>2]|0)>(k[T+124>>2]|0):0)yh($,33344,_)}while(0);$=k[u>>2]|0;k[ba+4>>2]=$;k[ba+8>>2]=$+(k[t>>2]|0);break}case 196:{_=a+(aa+-3<<4)+16|0;$=Br($,0,_)|0;k[ba>>2]=$;k[ba+4>>2]=k[_>>2];k[ba+8>>2]=(k[a+(aa<<4)+16>>2]|0)+(k[a+(aa<<4)+20>>2]|0);break}case 197:{_=a+(aa<<4)+16|0;$=Br($,0,_)|0;k[ba>>2]=$;$=k[_>>2]|0;k[ba+4>>2]=$;k[ba+8>>2]=$+(k[a+(aa<<4)+20>>2]|0);break}case 193:{Z=aa+-2|0;_=a+(aa<<4)+16|0;$=Ar($,k[a+(Z<<4)+16>>2]|0,_,1)|0;k[ba>>2]=$;k[ba+4>>2]=k[a+(Z<<4)+20>>2];k[ba+8>>2]=(k[_>>2]|0)+(k[a+(aa<<4)+20>>2]|0);break}case 194:{$=cr($,38,k[a+(aa+-3<<4)+16>>2]|0,0,a+(aa+-1<<4)+16|0)|0;k[ba>>2]=$;k[ba+4>>2]=k[a+(aa+-5<<4)+16>>2];k[ba+8>>2]=(k[a+(aa<<4)+16>>2]|0)+(k[a+(aa<<4)+20>>2]|0);break}case 195:{e=a+(aa+-1<<4)+16|0;c=k[e>>2]|0;if(c){if((k[c>>2]|0)>(k[(k[$>>2]|0)+112>>2]|0)){k[_>>2]=a+(aa+-4<<4)+16;yh($,20576,_);c=k[e>>2]|0}}else c=0;_=a+(aa+-4<<4)+16|0;c=Br($,c,_)|0;k[ba>>2]=c;k[ba+4>>2]=k[_>>2];k[ba+8>>2]=(k[a+(aa<<4)+16>>2]|0)+(k[a+(aa<<4)+20>>2]|0);if(!((c|0)==0?1:(j[a+(aa+-2<<4)+16>>1]|0)==0)){$=c+4|0;k[$>>2]=k[$>>2]|16}break}case 205:case 204:case 203:case 202:case 201:case 200:case 199:case 198:{_=aa+-2|0;$=cr($,l[a+(aa+-1<<4)+14>>0]|0,k[a+(_<<4)+16>>2]|0,k[a+(aa<<4)+16>>2]|0,0)|0;k[ba>>2]=$;k[ba+4>>2]=k[a+(_<<4)+20>>2];k[ba+8>>2]=k[a+(aa<<4)+24>>2];break}case 206:{Z=a+(aa<<4)+16|0;_=k[Z+4>>2]|0;$=ba;k[$>>2]=k[Z>>2];k[$+4>>2]=_;k[ba+8>>2]=0;break}case 207:{Z=a+(aa<<4)+16|0;_=k[Z+4>>2]|0;$=ba;k[$>>2]=k[Z>>2];k[$+4>>2]=_;k[ba+8>>2]=1;break}case 208:{e=aa+-2|0;_=aa+-1|0;c=Br($,qr($,qr($,0,k[a+(aa<<4)+16>>2]|0)|0,k[a+(e<<4)+16>>2]|0)|0,a+(_<<4)+16|0)|0;k[ba>>2]=c;if(k[a+(_<<4)+24>>2]|0){c=cr($,19,c,0,0)|0;k[ba>>2]=c}k[ba+4>>2]=k[a+(e<<4)+20>>2];k[ba+8>>2]=k[a+(aa<<4)+24>>2];if(c){$=c+4|0;k[$>>2]=k[$>>2]|128}break}case 210:{_=aa+-1|0;$=cr($,l[a+(aa<<4)+14>>0]|0,k[a+(_<<4)+16>>2]|0,0,0)|0;k[ba>>2]=$;k[ba+4>>2]=k[a+(_<<4)+20>>2];k[ba+8>>2]=(k[a+(aa<<4)+16>>2]|0)+(k[a+(aa<<4)+20>>2]|0);break}case 209:{e=aa+-4|0;_=aa+-3|0;c=Br($,qr($,qr($,qr($,0,k[a+(aa+-2<<4)+16>>2]|0)|0,k[a+(e<<4)+16>>2]|0)|0,k[a+(aa<<4)+16>>2]|0)|0,a+(_<<4)+16|0)|0;k[ba>>2]=c;if(k[a+(_<<4)+24>>2]|0){c=cr($,19,c,0,0)|0;k[ba>>2]=c}k[ba+4>>2]=k[a+(e<<4)+20>>2];k[ba+8>>2]=k[a+(aa<<4)+24>>2];if(c){$=c+4|0;k[$>>2]=k[$>>2]|128}break}case 223:{e=a+(aa+-1<<4)+16|0;c=k[e>>2]|0;do if(c){if((k[c>>2]|0)==1){_=k[c+4>>2]|0;c=k[_>>2]|0;k[_>>2]=0;Sk(k[$>>2]|0,k[e>>2]|0);if(c){_=c+4|0;k[_>>2]=k[_>>2]&-769|512}$=cr($,(k[a+(aa+-3<<4)+16>>2]|0)!=0?78:79,k[a+(aa+-4<<4)+16>>2]|0,c,0)|0;k[ba>>2]=$;break}c=cr($,75,k[a+(aa+-4<<4)+16>>2]|0,0,0)|0;k[ba>>2]=c;if(!c){Sk(k[$>>2]|0,k[e>>2]|0);c=0}else{k[c+20>>2]=k[e>>2];c=k[ba>>2]|0;Dr($,c)}if(k[a+(aa+-3<<4)+16>>2]|0){$=cr($,19,c,0,0)|0;k[ba>>2]=$}}else{_=cr($,132,0,0,20616+(k[a+(aa+-3<<4)+16>>2]<<3)|0)|0;k[ba>>2]=_;Lk(k[$>>2]|0,k[a+(aa+-4<<4)+16>>2]|0)}while(0);k[ba+4>>2]=k[a+(aa+-4<<4)+20>>2];k[ba+8>>2]=(k[a+(aa<<4)+16>>2]|0)+(k[a+(aa<<4)+20>>2]|0);break}case 211:{_=aa+-2|0;$=cr($,77,k[a+(_<<4)+16>>2]|0,0,0)|0;k[ba>>2]=$;k[ba+4>>2]=k[a+(_<<4)+20>>2];k[ba+8>>2]=(k[a+(aa<<4)+16>>2]|0)+(k[a+(aa<<4)+20>>2]|0);break}case 212:{Y=aa+-2|0;Z=a+(aa<<4)+16|0;_=cr($,73,k[a+(Y<<4)+16>>2]|0,k[Z>>2]|0,0)|0;k[ba>>2]=_;k[ba+4>>2]=k[a+(Y<<4)+20>>2];k[ba+8>>2]=k[a+(aa<<4)+24>>2];Cr($,k[Z>>2]|0,_,76);break}case 213:{Y=aa+-3|0;Z=a+(aa<<4)+16|0;_=cr($,148,k[a+(Y<<4)+16>>2]|0,k[Z>>2]|0,0)|0;k[ba>>2]=_;k[ba+4>>2]=k[a+(Y<<4)+20>>2];k[ba+8>>2]=k[a+(aa<<4)+24>>2];Cr($,k[Z>>2]|0,_,77);break}case 215:case 214:{_=aa+-1|0;$=cr($,l[a+(_<<4)+14>>0]|0,k[a+(aa<<4)+16>>2]|0,0,0)|0;k[ba>>2]=$;k[ba+4>>2]=k[a+(_<<4)+16>>2];k[ba+8>>2]=k[a+(aa<<4)+24>>2];break}case 216:{$=cr($,157,k[a+(aa<<4)+16>>2]|0,0,0)|0;k[ba>>2]=$;k[ba+4>>2]=k[a+(aa+-1<<4)+16>>2];k[ba+8>>2]=k[a+(aa<<4)+24>>2];break}case 217:{$=cr($,158,k[a+(aa<<4)+16>>2]|0,0,0)|0;k[ba>>2]=$;k[ba+4>>2]=k[a+(aa+-1<<4)+16>>2];k[ba+8>>2]=k[a+(aa<<4)+24>>2];break}case 220:{d=qr($,qr($,0,k[a+(aa+-2<<4)+16>>2]|0)|0,k[a+(aa<<4)+16>>2]|0)|0;e=aa+-4|0;c=cr($,74,k[a+(e<<4)+16>>2]|0,0,0)|0;k[ba>>2]=c;if(!c)Sk(k[$>>2]|0,d);else k[c+20>>2]=d;if(k[a+(aa+-3<<4)+16>>2]|0){$=cr($,19,k[ba>>2]|0,0,0)|0;k[ba>>2]=$}k[ba+4>>2]=k[a+(e<<4)+20>>2];k[ba+8>>2]=k[a+(aa<<4)+24>>2];break}case 224:{c=cr($,119,0,0,0)|0;k[ba>>2]=c;if(!c)Rk(k[$>>2]|0,k[a+(aa+-1<<4)+16>>2]|0,1);else{k[c+20>>2]=k[a+(aa+-1<<4)+16>>2];_=k[ba>>2]|0;Z=_+4|0;k[Z>>2]=k[Z>>2]|2099200;Dr($,_)}k[ba+4>>2]=k[a+(aa+-2<<4)+16>>2];k[ba+8>>2]=(k[a+(aa<<4)+16>>2]|0)+(k[a+(aa<<4)+20>>2]|0);break}case 118:{$=pr($,k[a+(aa+-6<<4)+16>>2]|0,k[a+(aa+-5<<4)+16>>2]|0,k[a+(aa+-4<<4)+16>>2]|0,k[a+(aa+-3<<4)+16>>2]|0,k[a+(aa+-2<<4)+16>>2]|0,k[a+(aa+-1<<4)+16>>2]|0,j[a+(aa+-7<<4)+16>>1]|0,k[a+(aa<<4)+16>>2]|0,k[a+(aa<<4)+20>>2]|0)|0;k[ba>>2]=$;break}case 120:{$=pr($,k[a+(aa+-1<<4)+16>>2]|0,0,0,0,0,0,128,0,0)|0;k[ba>>2]=$;break}case 121:{c=pr($,k[a+(aa+-1<<4)+16>>2]|0,0,0,0,0,0,128,0,0)|0;if(!c){k[ba>>2]=k[a+(aa+-4<<4)+16>>2];break a}else{i[c+4>>0]=116;k[c+52>>2]=k[a+(aa+-4<<4)+16>>2];k[ba>>2]=c;break a}}case 122:{j[ba>>1]=1;break}case 124:case 123:{j[ba>>1]=0;break}case 243:case 125:{k[ba>>2]=k[a+(aa+-1<<4)+16>>2];break}case 242:case 236:case 161:case 154:case 126:{k[ba>>2]=0;break}case 127:{e=aa+-1|0;g=qr($,k[a+(aa+-2<<4)+16>>2]|0,k[a+(e<<4)+16>>2]|0)|0;k[ba>>2]=g;if(k[a+(aa<<4)+20>>2]|0)rr($,g,a+(aa<<4)+16|0,1);n=k[$>>2]|0;if(g){h=(k[g+4>>2]|0)+(((k[g>>2]|0)+-1|0)*20|0)+8|0;rg(n,k[h>>2]|0);f=k[a+(e<<4)+20>>2]|0;g=(k[a+(e<<4)+24>>2]|0)-f|0;if((f|0)!=0?(c=ow(g|0,((g|0)<0)<<31>>31|0,1,0)|0,c=rh(n,c,L)|0,(c|0)!=0):0){pw(c|0,f|0,g|0)|0;i[c+g>>0]=0}else c=0;k[h>>2]=c}break}case 133:{e=rh(k[$>>2]|0,80,0)|0;if(e){v=e+0|0;d=v+80|0;do{i[v>>0]=0;v=v+1|0}while((v|0)<(d|0))}k[ba>>2]=e;break}case 134:{g=k[a+(aa<<4)+16>>2]|0;k[ba>>2]=g;if(g){e=k[g>>2]|0;d=e+-1|0;if((d|0)>0)while(1){i[g+(d*72|0)+44>>0]=i[g+((e+-2|0)*72|0)+44>>0]|0;e=d+-1|0;if((e|0)>0){$=d;d=e;e=$}else break}i[g+44>>0]=0}break}case 128:{Z=k[$>>2]|0;k[_>>2]=0;k[_+4>>2]=0;_=sr(Z,116,_,0)|0;$=qr($,k[a+(aa+-1<<4)+16>>2]|0,_)|0;k[ba>>2]=$;break}case 132:{k[ba+4>>2]=0;break}case 129:{_=cr($,116,0,0,a+(aa<<4)+16|0)|0;_=cr($,122,cr($,27,0,0,a+(aa+-2<<4)+16|0)|0,_,0)|0;$=qr($,k[a+(aa+-3<<4)+16>>2]|0,_)|0;k[ba>>2]=$;break}case 136:{k[ba>>2]=0;break}case 137:{_=or($,k[a+(aa+-6<<4)+16>>2]|0,a+(aa+-5<<4)+16|0,a+(aa+-4<<4)+16|0,a+(aa+-3<<4)+16|0,0,k[a+(aa+-1<<4)+16>>2]|0,k[a+(aa<<4)+16>>2]|0)|0;k[ba>>2]=_;tr($,_,a+(aa+-2<<4)+16|0);break}case 135:{c=k[a+(aa+-1<<4)+16>>2]|0;k[ba>>2]=c;if((c|0)!=0?(t=k[c>>2]|0,(t|0)>0):0)i[c+((t+-1|0)*72|0)+44>>0]=k[a+(aa<<4)+16>>2];break}case 138:{$=or($,k[a+(aa+-6<<4)+16>>2]|0,0,0,a+(aa+-2<<4)+16|0,k[a+(aa+-4<<4)+16>>2]|0,k[a+(aa+-1<<4)+16>>2]|0,k[a+(aa<<4)+16>>2]|0)|0;k[ba>>2]=$;break}case 139:{e=a+(aa+-6<<4)+16|0;g=k[e>>2]|0;if((((g|0)==0?(k[a+(aa+-2<<4)+20>>2]|0)==0:0)?(k[a+(aa+-1<<4)+16>>2]|0)==0:0)?(k[a+(aa<<4)+16>>2]|0)==0:0){k[ba>>2]=k[a+(aa+-4<<4)+16>>2];break a}n=a+(aa+-4<<4)+16|0;d=k[n>>2]|0;h=k[d>>2]|0;if((h|0)==1){e=or($,g,0,0,a+(aa+-2<<4)+16|0,0,k[a+(aa+-1<<4)+16>>2]|0,k[a+(aa<<4)+16>>2]|0)|0;k[ba>>2]=e;if(e){X=(k[e>>2]|0)+-1|0;_=k[n>>2]|0;Z=_+16|0;k[e+(X*72|0)+16>>2]=k[Z>>2];Y=_+12|0;k[e+(X*72|0)+12>>2]=k[Y>>2];_=_+28|0;k[e+(X*72|0)+28>>2]=k[_>>2];k[Y>>2]=0;k[Z>>2]=0;k[_>>2]=0}Io(k[$>>2]|0,k[n>>2]|0);break a}if(d){f=h+-1|0;if((f|0)>0){g=h;while(1){i[d+(f*72|0)+44>>0]=i[d+((g+-2|0)*72|0)+44>>0]|0;g=f+-1|0;if((g|0)>0){_=f;f=g;g=_}else break}}i[d+44>>0]=0}_=pr($,0,d,0,0,0,0,512,0,0)|0;$=or($,k[e>>2]|0,0,0,a+(aa+-2<<4)+16|0,_,k[a+(aa+-1<<4)+16>>2]|0,k[a+(aa<<4)+16>>2]|0)|0;k[ba>>2]=$;break}case 149:case 140:{k[ba>>2]=0;k[ba+4>>2]=0;break}case 144:{$=vr($,a+(aa+-1<<4)+16|0,0,0)|0;k[ba>>2]=$;break}case 145:{$=vr($,a+(aa+-2<<4)+16|0,a+(aa+-1<<4)+16|0,0)|0;k[ba>>2]=$;break}case 146:{$=vr($,a+(aa+-3<<4)+16|0,a+(aa+-2<<4)+16|0,a+(aa+-1<<4)+16|0)|0;k[ba>>2]=$;break}case 233:case 231:case 171:case 164:case 147:{k[ba>>2]=k[a+(aa<<4)+16>>2];break}case 234:case 232:case 170:case 163:case 148:{k[ba>>2]=0;break}case 151:{k[ba>>2]=0;k[ba+4>>2]=1;break}case 143:{k[ba>>2]=1;break}case 142:{$=ur(k[$>>2]|0,0,a+(aa+-1<<4)+16|0,a+(aa<<4)+16|0)|0;k[ba>>2]=$;break}case 235:case 162:case 155:{k[ba>>2]=k[a+(aa<<4)+16>>2];break}case 156:{c=qr($,k[a+(aa+-3<<4)+16>>2]|0,k[a+(aa+-1<<4)+16>>2]|0)|0;k[ba>>2]=c;if(c)i[(k[c+4>>2]|0)+(((k[c>>2]|0)+-1|0)*20|0)+12>>0]=k[a+(aa<<4)+16>>2];break}case 157:{c=qr($,0,k[a+(aa+-1<<4)+16>>2]|0)|0;k[ba>>2]=c;if((c|0)!=0?(d=k[c+4>>2]|0,(d|0)!=0):0)i[d+12>>0]=k[a+(aa<<4)+16>>2];break}case 179:case 153:{k[ba>>2]=0;break}case 180:case 152:{k[ba>>2]=k[a+(aa+-1<<4)+16>>2];break}case 160:case 158:{k[ba>>2]=0;break}case 159:{k[ba>>2]=1;break}case 165:{k[ba>>2]=0;k[ba+4>>2]=0;break}case 166:{k[ba>>2]=k[a+(aa<<4)+16>>2];k[ba+4>>2]=0;break}case 167:{k[ba>>2]=k[a+(aa+-2<<4)+16>>2];k[ba+4>>2]=k[a+(aa<<4)+16>>2];break}case 168:{k[ba+4>>2]=k[a+(aa+-2<<4)+16>>2];k[ba>>2]=k[a+(aa<<4)+16>>2];break}case 19:{if((Xq($,22,37120,0,0)|0)==0?(x=Tq($)|0,(x|0)!=0):0)Bh(x,3,1,1,0)|0;break}case 22:{Yq($,0,a+(aa<<4)+16|0);break}case 23:{Yq($,1,a+(aa<<4)+16|0);break}case 24:{Yq($,2,a+(aa<<4)+16|0);break}default:{}}while(0);c=i[20912+(b<<1)>>0]|0;h=c&255;g=i[20913+(b<<1)>>0]|0;f=g&255;n=(k[a>>2]|0)-f|0;k[a>>2]=n;e=j[22184+((j[21568+(m[a+(aa-f<<4)+12>>1]<<1)>>1]|0)+h<<1)>>1]|0;d=e&65535;do if((e&65535)<642)if(!(g<<24>>24)){pq(a,d,h,ba);break}else{k[a>>2]=n+1;aa=1-f+aa|0;j[a+(aa<<4)+12>>1]=e;i[a+(aa<<4)+14>>0]=c;aa=a+(aa<<4)+16|0;k[aa+0>>2]=k[ba+0>>2];k[aa+4>>2]=k[ba+4>>2];k[aa+8>>2]=k[ba+8>>2];break}else{c=k[ca>>2]|0;if((n|0)>-1)do Un(a);while((k[a>>2]|0)>-1);k[ca>>2]=c}while(0);r=da;return}function sq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;aa=r;r=r+64|0;if((r|0)>=(s|0))ka();$=aa+8|0;W=aa;h=aa+24|0;d=aa+16|0;f=Cq(a,0,d)|0;do if(!f){if(k[d>>2]|0){f=is(a,b)|0;if(!f)c=0;else e=4}else{f=1;e=4}if((e|0)==4){_=a+43|0;e=(i[_>>0]|0)==0;do if(!(i[a+46>>0]&2)){if(e?(g=a+4|0,Z=k[g>>2]|0,fc[k[(k[Z>>2]|0)+40>>2]&63](Z,24,0)|0,g=k[g>>2]|0,g=uc[k[(k[g>>2]|0)+56>>2]&31](g,0,1,10)|0,(g|0)!=0):0){d=f;c=g;break}Z=a+44|0;i[Z>>0]=1;e=Cq(a,0,d)|0;if(!e){d=is(a,b)|0;if(!d){d=0;c=0}else{Y=l[a+45>>0]|0;X=Y+1|0;Y=7-Y|0;if(!((i[_>>0]|0)==0?(c=k[a+4>>2]|0,c=uc[k[(k[c>>2]|0)+56>>2]&31](c,X,Y,10)|0,(c|0)!=0):0)){f=a+52|0;e=f+48|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(e|0));Q=a+8|0;c=k[Q>>2]|0;c=wc[k[(k[c>>2]|0)+24>>2]&127](c,W)|0;a:do if(!c){R=W;P=k[R+4>>2]|0;b:do if((P|0)>0|(P|0)==0&(k[R>>2]|0)>>>0>32){c=k[Q>>2]|0;c=yc[k[(k[c>>2]|0)+8>>2]&31](c,h,32,0,0)|0;if(c)break a;g=l[h+3>>0]|0;e=l[h+9>>0]<<16|l[h+8>>0]<<24;c=l[h+10>>0]<<8;f=e|c|l[h+11>>0];if(((l[h+1>>0]<<16|l[h>>0]<<24|l[h+2>>0]<<8|g&254|0)==931071618?!((f+-1&f|0)!=0|(f|0)>65536|(f|0)<512):0)?(R=g&1,S=a+65|0,i[S>>0]=R,T=a+36|0,k[T>>2]=f,k[a+104>>2]=l[h+13>>0]<<16|l[h+12>>0]<<24|l[h+14>>0]<<8|l[h+15>>0],U=a+84|0,P=h+16|0,N=P,N=l[N>>0]|l[N+1>>0]<<8|l[N+2>>0]<<16|l[N+3>>0]<<24,P=P+4|0,P=l[P>>0]|l[P+1>>0]<<8|l[P+2>>0]<<16|l[P+3>>0]<<24,V=U,O=V,i[O>>0]=N,i[O+1>>0]=N>>8,i[O+2>>0]=N>>16,i[O+3>>0]=N>>24,V=V+4|0,i[V>>0]=P,i[V+1>>0]=P>>8,i[V+2>>0]=P>>16,i[V+3>>0]=P>>24,V=a+76|0,Dq(R^1,h,24,0,V),(k[V>>2]|0)==(l[h+25>>0]<<16|l[h+24>>0]<<24|l[h+26>>0]<<8|l[h+27>>0]|0)):0){P=a+80|0;if((k[P>>2]|0)!=(l[h+29>>0]<<16|l[h+28>>0]<<24|l[h+30>>0]<<8|l[h+31>>0]|0)){f=0;c=0;break}if((l[h+5>>0]<<16|l[h+4>>0]<<24|l[h+6>>0]<<8|l[h+7>>0]|0)!=3007e3){k[$>>2]=49983;k[$+4>>2]=10788;gd(14,14848,$);c=14;break a}t=f+24|0;R=Yc(t)|0;if(!R){c=7;break a}u=R+24|0;v=((t|0)<0)<<31>>31;h=ow(t|0,v|0,32,0)|0;g=L;O=W;N=k[O+4>>2]|0;c:do if(!((g|0)>(N|0)|((g|0)==(N|0)?h>>>0>(k[O>>2]|0)>>>0:0))){w=R+8|0;x=R+1|0;y=R+2|0;z=R+3|0;A=R+16|0;B=R+17|0;C=R+18|0;D=R+19|0;E=R+20|0;F=R+21|0;G=R+22|0;H=R+23|0;I=R+4|0;J=R+5|0;K=R+6|0;M=R+7|0;N=a+68|0;O=a+72|0;p=(e>>>16|c)&65535;q=a+66|0;m=32;e=0;f=0;n=0;o=1;while(1){c=k[Q>>2]|0;c=yc[k[(k[c>>2]|0)+8>>2]&31](c,R,t,m,e)|0;if(c){e=36;break}if(cw(U,w,8)|0){c=n;e=37;break}e=l[x>>0]<<16|l[R>>0]<<24|l[y>>0]<<8|l[z>>0];if(!e){c=n;e=37;break}m=(i[S>>0]|0)==0&1;Dq(m,R,8,V,V);Dq(m,u,k[T>>2]|0,V,V);if((k[V>>2]|0)!=(l[B>>0]<<16|l[A>>0]<<24|l[C>>0]<<8|l[D>>0]|0)){c=n;e=37;break}if((k[P>>2]|0)!=(l[F>>0]<<16|l[E>>0]<<24|l[G>>0]<<8|l[H>>0]|0)){c=n;break c}m=l[J>>0]<<16|l[I>>0]<<24|l[K>>0]<<8|l[M>>0];c=dp(a,o,e)|0;if(c){e=36;break}if(!m)c=n;else{k[N>>2]=o;k[O>>2]=m;j[q>>1]=p;f=k[V>>2]|0;c=k[P>>2]|0}e=ow(h|0,g|0,t|0,v|0)|0;m=L;n=W;ba=k[n+4>>2]|0;if((m|0)>(ba|0)|((m|0)==(ba|0)?e>>>0>(k[n>>2]|0)>>>0:0))break c;else{ca=g;ba=h;h=e;g=m;n=c;o=o+1|0;e=ca;m=ba}}if((e|0)==36){$c(R);break a}else if((e|0)==37){$c(R);break b}}else{f=0;c=0}while(0);$c(R)}else{f=0;c=0}}else{f=0;c=0}while(0);k[a+76>>2]=f;k[a+80>>2]=c;ep(a);e=k[k[a+32>>2]>>2]|0;k[e+96>>2]=0;k[e+100>>2]=0;c=e+104|0;k[c>>2]=-1;k[e+108>>2]=-1;k[e+112>>2]=-1;k[e+116>>2]=-1;e=a+68|0;f=k[e>>2]|0;if(f)k[c>>2]=f;if(!(k[a+72>>2]|0))c=0;else{c=k[a+100>>2]|0;k[$>>2]=k[e>>2];k[$+4>>2]=c;gd(283,14888,$);c=0}}while(0);if(!(i[_>>0]|0)){W=k[a+4>>2]|0;uc[k[(k[W>>2]|0)+56>>2]&31](W,X,Y,9)|0}}k[b>>2]=1}}else{d=f;c=e}i[Z>>0]=0;if(!(i[_>>0]|0)){_=k[a+4>>2]|0;uc[k[(k[_>>2]|0)+56>>2]&31](_,0,1,9)|0}}else if(e){d=a+4|0;c=k[d>>2]|0;c=uc[k[(k[c>>2]|0)+56>>2]&31](c,0,1,6)|0;if(!c)if(!(i[_>>0]|0)){d=k[d>>2]|0;uc[k[(k[d>>2]|0)+56>>2]&31](d,0,1,5)|0;d=f;c=264}else{d=f;c=264}else d=f}else{d=f;c=264}while(0);if(d)break}if((k[a+52>>2]|0)!=3007e3){k[$>>2]=50909;k[$+4>>2]=10788;gd(14,14848,$);c=14}}else c=f;while(0);r=aa;return c|0}function tq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,l=0,n=0,o=0,p=0,q=0,r=0,s=0;p=k[e>>2]|0;q=k[d>>2]|0;h=(p|0)>0;g=(c|0)>0;if(h|g){n=g;i=0;o=0;l=0;while(1){do if(n){g=b+(i<<1)|0;if(h?(r=q+(l<<1)|0,(k[a+((m[g>>1]|0)<<2)>>2]|0)>>>0>=(k[a+((m[r>>1]|0)<<2)>>2]|0)>>>0):0){h=r;s=7;break}i=i+1|0;h=g}else{h=q+(l<<1)|0;s=7}while(0);if((s|0)==7){s=0;l=l+1|0}n=j[h>>1]|0;h=k[a+((n&65535)<<2)>>2]|0;g=o+1|0;j[f+(o<<1)>>1]=n;if((i|0)<(c|0))i=((k[a+((m[b+(i<<1)>>1]|0)<<2)>>2]|0)==(h|0)&1)+i|0;h=(l|0)<(p|0);n=(i|0)<(c|0);if(!(h|n))break;else o=g}}else g=0;k[d>>2]=b;k[e>>2]=g;pw(b|0,f|0,g<<1|0)|0;return}function uq(a,b){a=a|0;b=b|0;var c=0,d=0;d=k[a+4>>2]|0;k[d+4>>2]=k[a>>2];a=k[(k[d>>2]|0)+204>>2]|0;k[a+16>>2]=b;d=k[2217]|0;c=k[a+40>>2]|0;if((b|0)>-1)a=b;else{b=xw(b|0,((b|0)<0)<<31>>31|0,-1024,-1)|0;a=(k[a+24>>2]|0)+(k[a+20>>2]|0)|0;a=vw(b|0,L|0,a|0,((a|0)<0)<<31>>31|0)|0}oc[d&15](c,a);return}function vq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=(k[a+12>>2]|0)+136|0;c=e;d=k[c>>2]|0;c=k[c+4>>2]|0;do if((d|0)==0&(c|0)==0)if(!(gh(k[k[(k[a>>2]|0)+32>>2]>>2]|0,e)|0)){c=e;d=k[c>>2]|0;c=k[c+4>>2]|0;f=5;break}else{c=e;k[c>>2]=0;k[c+4>>2]=0;c=b;k[c>>2]=0;k[c+4>>2]=0;c=1;break}else f=5;while(0);if((f|0)==5){e=b;k[e>>2]=d;k[e+4>>2]=c;if((c|0)>0|(c|0)==0&d>>>0>0){i[b+42>>0]=1;c=0}else c=1}return c|0}function wq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;n=r;r=r+16|0;if((r|0)>=(s|0))ka();l=n;k[l>>2]=b;b=a;a=0;a:while(1){f=k[l>>2]|0;e=k[f>>2]|0;k[l>>2]=f+4;f=k[l>>2]|0;g=k[f>>2]|0;k[l>>2]=f+4;f=k[l>>2]|0;h=k[f>>2]|0;k[l>>2]=f+4;f=k[l>>2]|0;j=k[f>>2]|0;k[l>>2]=f+4;f=k[l>>2]|0;c=k[f>>2]|0;k[l>>2]=f+4;if(!e){d=b;b=0}else{d=b;b=0;do{e=e+-1|0;f=i[d>>0]|0;if(((f&255)+-48|0)>>>0>=10)break a;b=(b*10|0)+-48+(f<<24>>24)|0;d=d+1|0}while((e|0)!=0)}if((b|0)<(g|0)|(b|0)>(h|0))break;if(!j){m=9;break}if((j|0)!=(i[d>>0]|0))break;k[c>>2]=b;b=d+1|0;a=a+1|0}if((m|0)==9){k[c>>2]=b;a=a+1|0}r=n;return a|0}function xq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0.0,g=0,h=0.0,j=0,m=0,n=0,o=0,q=0,t=0,u=0;u=r;r=r+64|0;if((r|0)>=(s|0))ka();q=u;n=u+56|0;o=u+52|0;c=u+48|0;j=u+44|0;m=u+40|0;k[q>>2]=2;k[q+4>>2]=0;k[q+8>>2]=24;k[q+12>>2]=58;k[q+16>>2]=c;k[q+20>>2]=2;k[q+24>>2]=0;k[q+28>>2]=59;k[q+32>>2]=0;k[q+36>>2]=j;do if((wq(a,q)|0)==2){g=a+5|0;if((i[g>>0]|0)==58){k[q>>2]=2;k[q+4>>2]=0;k[q+8>>2]=59;k[q+12>>2]=0;k[q+16>>2]=m;if((wq(a+6|0,q)|0)!=1){c=1;break}g=a+8|0;if((i[g>>0]|0)==46?(d=a+9|0,e=i[d>>0]|0,((e&255)+-48|0)>>>0<10):0){h=0.0;f=1.0;do{h=h*10.0+ +(e<<24>>24)+-48.0;f=f*10.0;d=d+1|0;e=i[d>>0]|0}while(((e&255)+-48|0)>>>0<10);f=h/f}else{d=g;f=0.0}}else{k[m>>2]=0;d=g;f=0.0}i[b+42>>0]=0;i[b+41>>0]=1;k[b+20>>2]=k[c>>2];k[b+24>>2]=k[j>>2];p[b+32>>3]=f+ +(k[m>>2]|0);while(1){c=d+1|0;if(!(i[10368+(l[d>>0]|0)>>0]&1)){g=d;break}else d=c}a=b+28|0;k[a>>2]=0;d=i[g>>0]|0;if(d<<24>>24==45){e=-1;t=14}else if(d<<24>>24!=43)if((d&-33)<<24>>24==90){e=0;t=16}else c=0;else{e=1;t=14}if((t|0)==14){k[q>>2]=2;k[q+4>>2]=0;k[q+8>>2]=14;k[q+12>>2]=58;k[q+16>>2]=n;k[q+20>>2]=2;k[q+24>>2]=0;k[q+28>>2]=59;k[q+32>>2]=0;k[q+36>>2]=o;if((wq(c,q)|0)!=2){c=1;break}e=ha(((k[n>>2]|0)*60|0)+(k[o>>2]|0)|0,e)|0;k[a>>2]=e;c=g+6|0;t=16}if((t|0)==16)while(1){d=i[c>>0]|0;if(!(i[10368+(d&255)>>0]&1)){c=e;break}else c=c+1|0}if(!(d<<24>>24)){i[b+43>>0]=(c|0)!=0&1;c=0}else c=1}else c=1;while(0);r=u;return c|0}function yq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0.0,m=0;j=r;r=r+112|0;if((r|0)>=(s|0))ka();f=j+48|0;h=j;g=j+96|0;d=f+0|0;a=a+0|0;e=d+48|0;do{k[d>>2]=k[a>>2];d=d+4|0;a=a+4|0}while((d|0)<(e|0));to(f);uo(f);e=f+8|0;if(((k[e>>2]|0)+-1971|0)>>>0>66){k[e>>2]=2e3;k[f+12>>2]=1;k[f+16>>2]=1;k[f+20>>2]=0;k[f+24>>2]=0;p[f+32>>3]=0.0}else{d=f+32|0;p[d>>3]=+(~~(+p[d>>3]+.5)|0)}k[f+28>>2]=0;i[f+42>>0]=0;so(f);a=f;d=k[a>>2]|0;a=k[a+4>>2]|0;e=vw(d|0,a|0,1e3,0)|0;e=ow(e|0,L|0,-413362496,0)|0;k[g>>2]=e;e=_b(g|0)|0;e=(k[2253]|0)!=0?0:e;if(!e){k[b+20>>2]=1;i[b+25>>0]=1;ah(k[b>>2]|0,20056,-1,1,-1)|0;k[c>>2]=1;d=0;e=0}else{f=k[e+4>>2]|0;g=k[e+8>>2]|0;b=k[e+12>>2]|0;m=(k[e+16>>2]|0)+1|0;l=+(k[e>>2]|0);k[h+8>>2]=(k[e+20>>2]|0)+1900;k[h+12>>2]=m;k[h+16>>2]=b;k[h+20>>2]=g;k[h+24>>2]=f;p[h+32>>3]=l;i[h+40>>0]=1;i[h+41>>0]=1;i[h+42>>0]=0;i[h+43>>0]=0;so(h);k[c>>2]=0;e=h;e=iw(k[e>>2]|0,k[e+4>>2]|0,d|0,a|0)|0;d=L}L=d;r=j;return e|0}function zq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;n=r;r=r+32|0;if((r|0)>=(s|0))ka();m=n+12|0;h=n;l=n+8|0;g=n+16|0;i[b>>0]=0;d=wc[k[(k[a>>2]|0)+24>>2]&127](a,h)|0;f=h;e=k[f>>2]|0;f=k[f+4>>2]|0;if(!((d|0)!=0|((f|0)<0|(f|0)==0&e>>>0<16))){d=ow(e|0,f|0,-16,-1)|0;d=js(a,d,L,m)|0;if(!d){j=k[m>>2]|0;if(!(j>>>0>=c>>>0|(j|0)==0)){d=h;d=ow(k[d>>2]|0,k[d+4>>2]|0,-12,-1)|0;d=js(a,d,L,l)|0;if(!d){d=h;d=ow(k[d>>2]|0,k[d+4>>2]|0,-8,-1)|0;d=yc[k[(k[a>>2]|0)+8>>2]&31](a,g,8,d,L)|0;if(!d)if(!(cw(g,14808,8)|0)){d=h;d=ow(k[d>>2]|0,k[d+4>>2]|0,-16,-1)|0;d=iw(d|0,L|0,j|0,0)|0;d=yc[k[(k[a>>2]|0)+8>>2]&31](a,b,j,d,L)|0;if(!d){e=k[l>>2]|0;f=0;while(1){c=i[b+f>>0]|0;d=e-c|0;f=f+1|0;if(f>>>0>=j>>>0)break;else e=d}k[l>>2]=d;if((e|0)==(c|0))d=j;else{k[m>>2]=0;d=0}i[b+d>>0]=0;d=0}}else d=0}}else d=0}}r=n;return d|0}function Aq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+16|0;if((r|0)>=(s|0))ka();i=q+8|0;o=q+4|0;m=q;p=a+72|0;g=p;h=k[g>>2]|0;g=k[g+4>>2]|0;if((h|0)==0&(g|0)==0){j=0;l=0;h=k[a+148>>2]|0}else{j=ow(h|0,g|0,-1,-1)|0;h=k[a+148>>2]|0;j=vw(j|0,L|0,h|0,0)|0;j=ow(j|0,L|0,1,0)|0;j=xw(j|0,L|0,h|0,0)|0;l=L}n=p;k[n>>2]=j;k[n+4>>2]=l;n=a+148|0;h=ow(h|0,0,j|0,l|0)|0;g=L;do if(!((g|0)>(d|0)|(g|0)==(d|0)&h>>>0>c>>>0)){if((b|0)==0?(b=a+80|0,(j|0)==(k[b>>2]|0)?(l|0)==(k[b+4>>2]|0):0):0)c=a+64|0;else{h=a+64|0;d=k[h>>2]|0;d=yc[k[(k[d>>2]|0)+8>>2]&31](d,i,8,j,l)|0;if(d)break;if(!(cw(i,14808,8)|0))c=h;else{d=101;break}}i=k[c>>2]|0;d=ow(j|0,l|0,8,0)|0;d=js(i,d,L,e)|0;if(!d){e=k[c>>2]|0;d=ow(j|0,l|0,12,0)|0;d=js(e,d,L,a+48|0)|0;if(!d){e=k[c>>2]|0;d=ow(j|0,l|0,16,0)|0;d=js(e,d,L,f)|0;if(!d){g=p;h=k[g>>2]|0;g=k[g+4>>2]|0;if((h|0)==0&(g|0)==0){f=k[c>>2]|0;d=ow(j|0,l|0,20,0)|0;d=js(f,d,L,m)|0;if(d)break;f=k[c>>2]|0;d=ow(j|0,l|0,24,0)|0;d=js(f,d,L,o)|0;if(d)break;c=k[o>>2]|0;if(!c){g=k[a+152>>2]|0;k[o>>2]=g}else g=c;c=k[m>>2]|0;if(g>>>0<512|c>>>0<32|g>>>0>65536|c>>>0>65536){d=101;break}if(g+-1&g){d=101;break}if(c+-1&c){d=101;break}d=fl(a,o,-1)|0;k[n>>2]=c;g=p;h=k[g>>2]|0;g=k[g+4>>2]|0}else{c=k[n>>2]|0;d=0}j=ow(h|0,g|0,c|0,0)|0;l=p;k[l>>2]=j;k[l+4>>2]=L}}}}else d=101;while(0);r=q;return d|0}function Bq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=r;r=r+16|0;if((r|0)>=(s|0))ka();v=A+8|0;h=A+4|0;p=A;y=k[a+200>>2]|0;z=(d|0)!=0;g=k[(z?a+64|0:a+68|0)>>2]|0;o=b;o=js(g,k[o>>2]|0,k[o+4>>2]|0,h)|0;do if(!o){x=a+152|0;u=k[x>>2]|0;o=b;o=ow(k[o>>2]|0,k[o+4>>2]|0,4,0)|0;o=yc[k[(k[g>>2]|0)+8>>2]&31](g,y,u,o,L)|0;if(!o){B=k[x>>2]|0;n=(d<<2)+4+B|0;o=b;o=ow(n|0,((n|0)<0)<<31>>31|0,k[o>>2]|0,k[o+4>>2]|0)|0;n=L;u=b;k[u>>2]=o;k[u+4>>2]=n;u=k[h>>2]|0;if((u|0)!=0?(u|0)!=(((k[2514]|0)/(B|0)|0)+1|0):0)if(u>>>0<=(k[a+24>>2]|0)>>>0?(ii(c,u)|0)==0:0){if(z){o=ow(o|0,n|0,-4,-1)|0;o=js(g,o,L,p)|0;if(o){f=o;break}if(!e){o=k[a+48>>2]|0;n=(k[x>>2]|0)+-200|0;if((n|0)>0)do{o=(l[y+n>>0]|0)+o|0;n=n+-200|0}while((n|0)>0);if((o|0)!=(k[p>>2]|0)){f=101;break}}}if((c|0)!=0?(f=gi(c,u)|0,(f|0)!=0):0)break;p=(u|0)==1;if(p?(q=a+142|0,t=i[y+20>>0]|0,(j[q>>1]|0)!=(t&255|0)):0)j[q>>1]=t&255;if(!(k[a+208>>2]|0)){t=a+204|0;o=fc[k[8744+132>>2]&63](k[(k[t>>2]|0)+40>>2]|0,u,0)|0;o=nl(k[t>>2]|0,u,o)|0}else o=0;k[v>>2]=o;if(z)if(!(i[a+7>>0]|0)){t=b;c=k[t+4>>2]|0;n=a+80|0;q=k[n+4>>2]|0;n=(c|0)<(q|0)|((c|0)==(q|0)?(k[t>>2]|0)>>>0<=(k[n>>2]|0)>>>0:0)}else n=1;else if(!o)n=1;else n=(j[o+24>>1]&4)==0;h=k[a+60>>2]|0;g=k[h>>2]|0;do if(g){f=i[a+16>>0]|0;if((f&255)>3){if(!n){w=33;break}}else if(!(f<<24>>24==0&n)){w=33;break}n=k[x>>2]|0;f=xw(n|0,((n|0)<0)<<31>>31|0,u+-1|0,0)|0;f=yc[k[g+12>>2]&31](h,y,n,f,L)|0;n=a+32|0;if(u>>>0>(k[n>>2]|0)>>>0)k[n>>2]=u;n=k[a+88>>2]|0;if(n)fp(n,u,y)}else w=33;while(0);if((w|0)==33)if((d|0)==0&(o|0)==0){t=a+20|0;i[t>>0]=l[t>>0]|2;f=Eg(a,u,v,1)|0;i[t>>0]=l[t>>0]&253;if(f)break;o=k[v>>2]|0;f=o+24|0;j[f>>1]=m[f>>1]&65527;Yo(o);f=0}else f=0;if(o){h=k[o+4>>2]|0;pw(h|0,y|0,k[x>>2]|0)|0;hc[k[a+196>>2]&31](o);do if(z){if((e|0)!=0?(t=b,c=k[t+4>>2]|0,u=a+80|0,q=k[u+4>>2]|0,(c|0)>(q|0)|((c|0)==(q|0)?(k[t>>2]|0)>>>0>(k[u>>2]|0)>>>0:0)):0)break;Cl(o)}while(0);if(p){n=a+104|0;g=h+24|0;h=n+16|0;do{i[n>>0]=i[g>>0]|0;n=n+1|0;g=g+1|0}while((n|0)<(h|0))}tl(o)}}else f=0;else f=101}else f=o}else f=o;while(0);r=A;return f|0}function Cq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;d=a+24|0;if((k[d>>2]|0)<=(b|0)){f=b+1|0;g=a+32|0;e=ad(k[g>>2]|0,f<<2)|0;if(!e){d=7;e=0}else{h=k[d>>2]|0;kw(e+(h<<2)|0,0,f-h<<2|0)|0;k[g>>2]=e;k[d>>2]=f;h=5}}else{e=k[a+32>>2]|0;h=5}if((h|0)==5){g=a+32|0;e=e+(b<<2)|0;do if(!(k[e>>2]|0)){if((i[a+43>>0]|0)!=2){d=k[a+4>>2]|0;d=yc[k[(k[d>>2]|0)+52>>2]&31](d,b,32768,l[a+44>>0]|0,e)|0;if((d|0)!=8)break;d=a+46|0;i[d>>0]=l[d>>0]|2;d=0;break}d=vg(32768,0)|0;if(d)kw(d|0,0,32768)|0;k[(k[g>>2]|0)+(b<<2)>>2]=d;d=(k[(k[g>>2]|0)+(b<<2)>>2]|0)==0?7:0}else d=0;while(0);e=k[(k[g>>2]|0)+(b<<2)>>2]|0}k[c>>2]=e;return d|0}function Dq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;g=b+c|0;if(!d){f=0;c=0}else{f=k[d>>2]|0;c=k[d+4>>2]|0}if(!a)do{f=f+c+(sw(k[b>>2]|0)|0)|0;c=f+c+(sw(k[b+4>>2]|0)|0)|0;b=b+8|0}while(b>>>0<g>>>0);else do{f=f+c+(k[b>>2]|0)|0;c=f+c+(k[b+4>>2]|0)|0;b=b+8|0}while(b>>>0<g>>>0);k[e>>2]=f;k[e+4>>2]=c;return}function Eq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;g=a+8|0;f=k[g>>2]|0;g=k[g+4>>2]|0;if((g|0)>(e|0)|(g|0)==(e|0)&f>>>0>d>>>0?(h=ow(c|0,((c|0)<0)<<31>>31|0,d|0,e|0)|0,j=L,!((j|0)<(g|0)|(j|0)==(g|0)&h>>>0<f>>>0)):0){h=iw(f|0,g|0,d|0,e|0)|0;g=a+4|0;f=k[g>>2]|0;f=yc[k[(k[f>>2]|0)+12>>2]&31](f,b,h,d,e)|0;if(!f){d=ow(h|0,((h|0)<0)<<31>>31|0,d|0,e|0)|0;e=L;f=k[g>>2]|0;f=wc[k[(k[f>>2]|0)+20>>2]&127](f,k[a+16>>2]&19)|0;if(!((h|0)==(c|0)|(f|0)!=0)){c=c-h|0;g=b+h|0;f=e;i=5}}}else{g=b;f=e;i=5}if((i|0)==5){e=k[a+4>>2]|0;f=yc[k[(k[e>>2]|0)+12>>2]&31](e,g,c,d,f)|0}return f|0}function Fq(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;if((r|0)>=(s|0))ka();e=g+8|0;f=g+4|0;d=g;k[e>>2]=0;k[f>>2]=0;k[d>>2]=0;c=a+68|0;b=k[c>>2]|0;if(b){Uo(a,(b+33|0)>>>12,e,f,d)|0;d=(k[c>>2]|0)-(k[d>>2]|0)|0;a=k[e>>2]|0;c=0;do{b=a+(c<<1)|0;if((m[b>>1]|0|0)>(d|0))j[b>>1]=0;c=c+1|0}while((c|0)!=8192);b=(k[f>>2]|0)+(d+1<<2)|0;kw(b|0,0,a-b|0)|0}r=g;return}function Gq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;if((r|0)>=(s|0))ka();c=e;f=a+204|0;d=fc[k[8744+132>>2]&63](k[(k[f>>2]|0)+40>>2]|0,b,0)|0;d=nl(k[f>>2]|0,b,d)|0;do if(!d)c=0;else{if((j[d+26>>1]|0)==1){rl(d);c=0;break}k[c>>2]=0;b=pl(k[a+208>>2]|0,k[d+20>>2]|0,c)|0;if(!b){b=ql(d,k[c>>2]|0)|0;if(!b){hc[k[a+196>>2]&31](d);b=0}}Gg(d);c=b}while(0);b=k[a+88>>2]|0;if(b)do{k[b+16>>2]=1;b=k[b+44>>2]|0}while((b|0)!=0);r=e;return c|0}function Hq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=r;r=r+16|0;if((r|0)>=(s|0))ka();C=D;z=k[a+52>>2]|0;o=(k[z+36>>2]|0)+-4|0;v=b&65535;A=c&65535;u=A+v|0;B=k[a+56>>2]|0;if(j[z+22>>1]&4)kw(B+v|0,0,A|0)|0;y=l[a+6>>0]|0;z=y+1|0;g=z&65535;x=z&65535;if((i[B+(x+1)>>0]|0)==0?(i[B+x>>0]|0)==0:0){q=c&255;o=(c&65535)>>>8&255;p=u;n=0;h=0;x=23}else{q=g;x=6}a:do if((x|0)==6){while(1){x=0;f=q&65535;h=i[B+(f+1)>>0]|0;e=h&255;p=l[B+f>>0]<<8|e;g=q;q=p&65535;if(!(p>>>0<v>>>0&(p|0)!=0)){n=h;t=p;break}if(p>>>0<(f+4|0)>>>0){x=8;break}else x=6}if((x|0)==8){k[C>>2]=54420;k[C+4>>2]=10788;gd(11,13600,C);d=11;break}if(t>>>0>o>>>0){k[C>>2]=54423;k[C+4>>2]=10788;gd(11,13600,C);d=11;break}d=c&255;o=(c&65535)>>>8&255;h=(q&65535)>>>8&255;do if((t+-1|0)>>>0<(u+3|0)>>>0)if(u>>>0>t>>>0){k[C>>2]=54434;k[C+4>>2]=10788;gd(11,13600,C);d=11;break a}else{p=(l[B+(t+2)>>0]<<8|l[B+(t+3)>>0])+t|0;o=p-v|0;q=o&255;o=(o&65535)>>>8&255;n=i[B+(t+1)>>0]|0;h=i[B+t>>0]|0;d=e-u&255;break}else{q=d;p=u;d=0}while(0);do if(f>>>0>z>>>0?(w=(l[B+(f+2)>>0]<<8|l[B+(f+3)>>0])+f|0,(w+3|0)>=(v|0)):0)if((v|0)<(w|0)){k[C>>2]=54447;k[C+4>>2]=10788;gd(11,13600,C);d=11;break a}else{o=p-f|0;b=g;q=o&255;o=(o&65535)>>>8&255;d=(d&255)+v-w&255;break}while(0);f=B+(y+7)|0;e=i[f>>0]|0;if((e&255)<(d&255)){k[C>>2]=54453;k[C+4>>2]=10788;gd(11,13600,C);d=11;break}else{i[f>>0]=(e&255)-(d&255);x=23;break}}while(0);b:do if((x|0)==23){d=b&65535;e=B+(y+5)|0;f=B+(y+6)|0;do if((d|0)==(l[e>>0]<<8|l[f>>0]|0))if((g&65535|0)==(z|0)){i[B+z>>0]=h;i[B+(y+2)>>0]=n;i[e>>0]=p>>>8;i[f>>0]=p;break}else{k[C>>2]=54460;k[C+4>>2]=10788;gd(11,13600,C);d=11;break b}else{C=g&65535;i[B+C>>0]=(b&65535)>>>8;i[B+(C+1)>>0]=b;i[B+d>>0]=h;i[B+(d+1)>>0]=n;i[B+(d+2)>>0]=o;i[B+(d+3)>>0]=q}while(0);d=a+16|0;j[d>>1]=(m[d>>1]|0)+A;d=0}while(0);r=D;return d|0}function Iq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,t=0,u=0;u=r;r=r+16|0;if((r|0)>=(s|0))ka();p=u;o=l[a+6>>0]|0;t=k[a+56>>2]|0;n=k[(k[a+52>>2]|0)+36>>2]|0;g=n+-4|0;a=o+1|0;while(1){h=t+a|0;j=(l[h>>0]|0)<<8|(l[t+(a+1)>>0]|0);if(!j){a=0;break}if((j|0)>(g|0)|(j|0)<(a+4|0)){q=4;break}e=t+(j+2)|0;f=t+(j+3)|0;a=(l[e>>0]|0)<<8|(l[f>>0]|0);if((a|0)<(b|0))a=j;else{m=e;g=j;q=6;break}}a:do if((q|0)==4){k[p>>2]=54252;k[p+4>>2]=10788;gd(11,13600,p);k[c>>2]=11;a=0}else if((q|0)==6){e=a-b|0;do if((e|0)>=4)if((a+g|0)>(n|0)){k[p>>2]=54275;k[p+4>>2]=10788;gd(11,13600,p);k[c>>2]=11;a=0;break a}else{i[m>>0]=e>>>8;i[f>>0]=e;break}else{a=t+(o+7)|0;if((l[a>>0]|0)<=59){o=t+g|0;o=l[o>>0]|l[o+1>>0]<<8;i[h>>0]=o;i[h+1>>0]=o>>8;i[a>>0]=(l[a>>0]|0)+e;break}if(!d){a=0;break a}k[d>>2]=1;a=0;break a}while(0);a=t+(e+g)|0}while(0);r=u;return a|0}function Jq(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=r;r=r+16|0;if((r|0)>=(s|0))ka();B=D;y=k[a+56>>2]|0;A=l[a+6>>0]|0;u=m[a+14>>1]|0;v=j[a+18>>1]|0;o=v&65535;p=a+52|0;q=k[(k[p>>2]|0)+36>>2]|0;z=(o<<1)+u|0;t=q+-4|0;w=y+(A+5)|0;x=y+(A+6)|0;a:do if(v<<16>>16){n=q;v=0;c=y;d=0;while(1){f=(v<<1)+u|0;e=y+f|0;f=y+(f+1)|0;g=(l[e>>0]|0)<<8|(l[f>>0]|0);if((g|0)<(z|0)|(g|0)>(t|0)){C=3;break}h=(Qp(a,c+g|0)|0)&65535;b=n-h|0;if((b|0)<(z|0)|(h+g|0)>(q|0)){C=5;break}i[e>>0]=b>>>8;i[f>>0]=b;if(!d)if((b|0)==(g|0))d=0;else{d=k[(k[k[p>>2]>>2]|0)+200>>2]|0;c=(l[w>>0]|0)<<8|(l[x>>0]|0);pw(d+c|0,y+c|0,n-c|0)|0;c=d;C=9}else C=9;if((C|0)==9){C=0;pw(y+b|0,c+g|0,h|0)|0}v=v+1|0;if((v|0)>=(o|0)){C=11;break a}else n=b}if((C|0)==3){k[B>>2]=54184;k[B+4>>2]=10788;gd(11,13600,B);b=11;break}else if((C|0)==5){k[B>>2]=54196;k[B+4>>2]=10788;gd(11,13600,B);b=11;break}}else{b=q;C=11}while(0);if((C|0)==11){i[w>>0]=b>>>8;i[x>>0]=b;i[y+(A+1)>>0]=0;i[y+(A+2)>>0]=0;i[y+(A+7)>>0]=0;C=b-z|0;kw(y+z|0,0,C|0)|0;if((C|0)==(m[a+16>>1]|0|0))b=0;else{k[B>>2]=54221;k[B+4>>2]=10788;gd(11,13600,B);b=11}}r=D;return b|0}function Kq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;f=r;r=r+32|0;if((r|0)>=(s|0))ka();e=f;if((k[c>>2]|0)==0?(wp(a,b,e),d=j[e+18>>1]|0,d<<16>>16!=0):0){d=d&65535;Ep(k[a+52>>2]|0,(l[b+(d+1)>>0]|0)<<16|(l[b+d>>0]|0)<<24|(l[b+(d+2)>>0]|0)<<8|(l[b+(d+3)>>0]|0),3,k[a+72>>2]|0,c)}r=f;return}function Lq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;do if(!(k[c>>2]|0)){d=k[a+52>>2]|0;f=k[a+56>>2]|0;h=k[b+56>>2]|0;e=l[a+6>>0]|0;g=(k[b+72>>2]|0)==1?100:0;j=l[f+(e+5)>>0]<<8|l[f+(e+6)>>0];pw(h+j|0,f+j|0,(k[d+36>>2]|0)-j|0)|0;pw(h+g|0,f+e|0,(m[a+18>>1]<<1)+(m[a+14>>1]|0)|0)|0;i[b>>0]=0;a=eq(b)|0;if(a){k[c>>2]=a;break}if(i[d+17>>0]|0){a=dq(b)|0;k[c>>2]=a}}while(0);return}function Mq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;q=l[a+6>>0]|0;t=k[a+56>>2]|0;h=k[a+52>>2]|0;o=k[h+36>>2]|0;n=t+o|0;e=k[a+64>>2]|0;h=k[(k[h>>2]|0)+200>>2]|0;p=t+(q+5)|0;r=t+(q+6)|0;s=(l[p>>0]|0)<<8|(l[r>>0]|0);pw(h+s|0,t+s|0,o-s|0)|0;s=t;if((b|0)>0){o=0;g=e;e=n;while(1){f=k[c+(o<<2)>>2]|0;if(f>>>0>t>>>0&f>>>0<n>>>0)f=h+(f-s)|0;u=m[d+(o<<1)>>1]|0;e=e+(0-u)|0;pw(e|0,f|0,u|0)|0;f=e-s|0;i[g>>0]=f>>>8;i[g+1>>0]=f;o=o+1|0;if((o|0)==(b|0))break;else g=g+2|0}}else e=n;d=a+18|0;j[d>>1]=b;i[a+1>>0]=0;i[t+(q+1)>>0]=0;i[t+(q+2)>>0]=0;i[t+(q+3)>>0]=(m[d>>1]|0)>>>8;i[t+(q+4)>>0]=j[d>>1];d=e-s|0;i[p>>0]=d>>>8;i[r>>0]=d;i[t+(q+7)>>0]=0;return}function Nq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,n=0,o=0,p=0,q=0,r=0;r=k[a+56>>2]|0;p=r+(k[(k[a+52>>2]|0)+36>>2]|0)|0;n=r+((l[a+6>>0]|0)+8+(l[a+7>>0]|0))|0;a:do if((b|0)>0){o=r;q=0;e=0;i=0;j=0;while(1){g=k[c+(q<<2)>>2]|0;if(g>>>0>=n>>>0&g>>>0<p>>>0){f=m[d+(q<<1)>>1]|0;h=g+f|0;if((i|0)!=(h|0)){if(i)Hq(a,i-o&65535,j&65535)|0;if(h>>>0>p>>>0){e=0;break a}}else f=f+j|0;e=e+1|0}else{g=i;f=j}q=q+1|0;if((q|0)>=(b|0))break;else{i=g;j=f}}if(g)Hq(a,g-r&65535,f&65535)|0}else e=0;while(0);return e|0}function Oq(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,l=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0;v=r;r=r+16|0;if((r|0)>=(s|0))ka();t=v;j=k[a+56>>2]|0;h=k[c>>2]|0;if(!(i[j+1>>0]|0))q=(i[j+2>>0]|0)!=0;else q=1;a:do if((e|0)>0){o=0;while(1){n=m[g+(o<<1)>>1]|0;if(q?(p=Iq(a,n,t,0)|0,(p|0)!=0):0)l=p;else{l=h+(0-n)|0;if(l>>>0<b>>>0){h=1;break a}else h=l}pw(l|0,k[f+(o<<2)>>2]|0,n|0)|0;n=l-j|0;i[d>>0]=n>>>8;i[d+1>>0]=n;o=o+1|0;if((o|0)>=(e|0)){u=9;break}else d=d+2|0}}else u=9;while(0);if((u|0)==9){k[c>>2]=h;h=0}r=v;return h|0}function Pq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;m=r;r=r+16|0;if((r|0)>=(s|0))ka();l=m;d=k[a+44>>2]|0;g=a;e=k[g>>2]|0;g=k[g+4>>2]|0;a:do if(!d){j=a+40|0;d=k[j>>2]|0;f=((d|0)<0)<<31>>31;i=ww(e|0,g|0,d|0,f|0)|0;if(!i){h=a+8|0;h=iw(k[h>>2]|0,k[h+4>>2]|0,e|0,g|0)|0;n=L;o=k[a+24>>2]|0;d=yc[k[(k[o>>2]|0)+8>>2]&31](o,k[a+36>>2]|0,(n|0)>(f|0)|(n|0)==(f|0)&h>>>0>d>>>0?d:h,e,g)|0;if(d)break;d=k[j>>2]|0}h=d-i|0;if((h|0)>=(b|0)){k[c>>2]=(k[a+36>>2]|0)+i;d=a;b=ow(k[d>>2]|0,k[d+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;d=a;k[d>>2]=b;k[d+4>>2]=L;d=0;break}d=a+16|0;e=k[d>>2]|0;if((e|0)<(b|0)){e=e<<1;e=(e|0)<128?128:e;while(1)if((e|0)<(b|0))e=e<<1;else{g=e;break}f=a+28|0;e=wg(k[f>>2]|0,g,((g|0)<0)<<31>>31)|0;if(!e){d=7;break}k[d>>2]=g;k[f>>2]=e}else e=k[a+28>>2]|0;g=a+28|0;pw(e|0,(k[a+36>>2]|0)+i|0,h|0)|0;i=a;i=ow(k[i>>2]|0,k[i+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0;d=a;k[d>>2]=i;k[d+4>>2]=L;d=b-h|0;if((d|0)>0){f=d;do{e=k[j>>2]|0;e=(f|0)>(e|0)?e:f;d=Pq(a,e,l)|0;if(d)break a;pw((k[g>>2]|0)+(b-f)|0,k[l>>2]|0,e|0)|0;f=f-e|0}while((f|0)>0)}k[c>>2]=k[g>>2];d=0}else{k[c>>2]=d+e;b=ow(e|0,g|0,b|0,((b|0)<0)<<31>>31|0)|0;d=a;k[d>>2]=b;k[d+4>>2]=L;d=0}while(0);r=m;return d|0}function Qq(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=r;r=r+64|0;if((r|0)>=(s|0))ka();w=z+44|0;y=z;x=z+40|0;u=a+8|0;t=k[u>>2]|0;u=k[u+4>>2]|0;v=a+4|0;n=k[v>>2]|0;Up(k[a+48>>2]|0,y,k[(k[(k[a>>2]|0)+8>>2]|0)+12>>2]|0,t,u);m=n+8|0;n=n+12|0;o=y+24|0;p=y+16|0;q=a+16|0;while(1){e=k[(k[m>>2]|0)+4>>2]|0;f=k[n>>2]|0;g=k[f+(e*56|0)+20>>2]|0;if(!(k[f+(e*56|0)+24>>2]|0)){c=1;b=0;break}i=o;h=k[i>>2]|0;i=k[i+4>>2]|0;j=k[p>>2]|0;l=((g|0)<0)<<31>>31;b=g;d=l;c=0;do{c=c+1|0;b=rw(b|0,d|0,7)|0;d=L}while(((b|0)!=0|(d|0)!=0)&(c|0)<9);h=ow(h|0,i|0,g|0,l|0)|0;h=ow(h|0,L|0,j|0,((j|0)<0)<<31>>31|0)|0;c=ow(h|0,L|0,c|0,((c|0)<0)<<31>>31|0)|0;h=L;b=k[q>>2]|0;b=ow(b|0,((b|0)<0)<<31>>31|0,t|0,u|0)|0;d=L;if((h|0)>(d|0)|(h|0)==(d|0)&c>>>0>b>>>0){c=1;b=0;break}Vp(y,w,um(w,g,l)|0);Vp(y,k[f+(e*56|0)+32>>2]|0,g);b=$m(k[v>>2]|0,x)|0;if(b){c=0;break}}y=Wp(y,a+56|0)|0;r=z;return (c?y:b)|0}function Rq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;c=r;r=r+16|0;if((r|0)>=(s|0))ka();e=c;k[e>>2]=d;d=$k(a,13592,e)|0;rg(a,b);r=c;return d|0}function Sq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0;l=r;r=r+16|0;if((r|0)>=(s|0))ka();h=l;e=i[a>>0]|0;if(e<<24>>24!=0&(b|0)>0){g=0;do{if((e+-48&255)<10){f=0;do{f=(f*10|0)+-48+(e<<24>>24)|0;a=a+1|0;e=i[a>>0]|0}while((e+-48&255)<10);e=0}else{f=0;e=0}e=ks(f,e)|0;j[c+(g<<1)>>1]=e;a=(i[a>>0]|0)==32?a+1|0:a;g=g+1|0;e=i[a>>0]|0}while(e<<24>>24!=0&(g|0)<(b|0))}g=d+51|0;i[g>>0]=i[g>>0]&-69;a:do if(i[a>>0]|0){c=d+44|0;b:while(1){do if(!(Lh(13448,a,10352,0)|0)){if(Lh(13464,a,10352,0)|0){k[h>>2]=0;In(a+3|0,h)|0;e=k[h>>2]|0;e=ks(e,((e|0)<0)<<31>>31)|0;j[c>>1]=e;break}if(Lh(13480,a,10352,0)|0)i[g>>0]=i[g>>0]|64}else i[g>>0]=i[g>>0]|4;while(0);while(1){e=i[a>>0]|0;if(e<<24>>24==32|e<<24>>24==0)break;a=a+1|0}while(1){f=a+1|0;if(!(e<<24>>24))break a;else if(e<<24>>24!=32)continue b;e=i[f>>0]|0;a=f}}}while(0);r=l;return}function Tq(a){a=a|0;var b=0,c=0;c=a+8|0;b=k[c>>2]|0;if(!b){b=Ah(a)|0;k[c>>2]=b;if(b)Bh(b,155,0,0,0)|0;if((k[a+408>>2]|0)==0?(j[(k[a>>2]|0)+60>>1]&8)==0:0)i[a+23>>0]=1}return b|0}function Uq(a,b){a=a|0;b=b|0;var c=0;c=(k[a+32>>2]|0)+-1|0;if((c|0)>(k[(k[a+24>>2]|0)+88>>2]|0)?(i[(k[a+4>>2]|0)+(c*20|0)>>0]|0)==b<<24>>24:0){Eh(a,c);c=1}else c=0;return c|0}function Vq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;g=Tq(a)|0;f=d+32|0;ls(a,c,k[f>>2]|0,(e|0)==55&1,k[d>>2]|0);if(!(i[d+44>>0]&32)){d=j[d+38>>1]|0;Ch(g,Bh(g,e,b,k[f>>2]|0,c)|0,d,-14)}else{f=k[d+8>>2]|0;a:do if(!f)f=0;else while(1){if((i[f+51>>0]&3)==2)break a;f=k[f+20>>2]|0;if(!f){f=0;break}}while(0);Bh(g,e,b,k[f+40>>2]|0,c)|0;d=k[a+8>>2]|0;Ch(d,-1,ms(a,f)|0,-6)}return}function Wq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;if((b|0)!=0?(i[b>>0]|0)==-97:0)Bh(k[a+8>>2]|0,33,k[b+28>>2]|0,c,0)|0;else f=4;if(((f|0)==4?(e=ns(a,b,c)|0,(e|0)!=(c|0)):0)?(d=k[a+8>>2]|0,(d|0)!=0):0)Bh(d,34,e,c,0)|0;return}function Xq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=r;r=r+16|0;if((r|0)>=(s|0))ka();h=j;f=k[a>>2]|0;do if(((i[f+145>>0]|0)==0?(i[a+451>>0]|0)==0:0)?(g=k[f+284>>2]|0,(g|0)!=0):0){f=pc[g&7](k[f+288>>2]|0,b,c,d,e,k[a+492>>2]|0)|0;if((f|0)==0|(f|0)==2)break;else if((f|0)==1){yh(a,25216,h);k[a+12>>2]=23;f=1;break}else{yh(a,25232,h);k[a+12>>2]=1;f=1;break}}else f=0;while(0);r=j;return f|0}function Yq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;c=$q(k[a>>2]|0,c)|0;do if(c){d=Tq(a)|0;if((d|0)!=0?(Xq(a,32,k[37088+(b<<2)>>2]|0,c,0)|0)==0:0){Ch(d,Bh(d,2,b,0,0)|0,c,-1);break}rg(k[a>>2]|0,c)}while(0);return}function Zq(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,m=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0;v=r;r=r+16|0;if((r|0)>=(s|0))ka();p=v;n=v+4|0;u=k[a>>2]|0;b=jr(a,b,c,n)|0;a:do if((b|0)>=0){o=(d|0)!=0;if(o?(k[c+4>>2]|0)!=0&(b|0)!=1:0){yh(a,36976,p);break}t=o?1:b;c=k[n>>2]|0;o=c;b=k[o+4>>2]|0;n=a+496|0;k[n>>2]=k[o>>2];k[n+4>>2]=b;n=$q(u,c)|0;if(n){b:do if((Qr(a,n)|0)==0?(m=(i[u+144>>0]|0)==1?1:d,q=u+16|0,h=k[(k[q>>2]|0)+(t<<4)>>2]|0,(Xq(a,18,(m|0)==1?13184:13208,0,h)|0)==0):0){d=(m|0)!=0;if(!e)b=d?4:2;else b=d?6:8;o=(f|0)!=0;if(!o?(Xq(a,b,n,0,h)|0)!=0:0)break;do if(!(i[a+451>>0]|0)){d=k[(k[q>>2]|0)+(t<<4)>>2]|0;if(Ln(a)|0)break b;if(!(di(u,n,d)|0)){if(!(gq(u,n,d)|0))break;k[p>>2]=n;yh(a,37048,p);break b}if(!g){k[p>>2]=c;yh(a,37024,p);break b}else{Fr(a,t);break b}}while(0);m=rh(u,76,0)|0;if(!m){i[u+65>>0]=1;k[a+12>>2]=7;q=a+64|0;k[q>>2]=(k[q>>2]|0)+1;break}h=m+0|0;d=h+76|0;do{i[h>>0]=0;h=h+1|0}while((h|0)<(d|0));k[m>>2]=n;j[m+36>>1]=-1;h=k[(k[q>>2]|0)+(t<<4)+12>>2]|0;k[m+68>>2]=h;j[m+40>>1]=1;j[m+28>>1]=200;k[a+484>>2]=m;if((i[a+18>>0]|0)==0?(dw(n,26576)|0)==0:0)k[h+72>>2]=m;if(i[u+145>>0]|0)break a;c=Tq(a)|0;if(!c)break a;q=k[a+408>>2]|0;Fr(a,t);h=1<<t;q=((q|0)==0?a:q)+328|0;k[q>>2]=k[q>>2]|h;if(o)Bh(c,146,0,0,0)|0;m=a+72|0;b=k[m>>2]|0;n=b+1|0;k[a+384>>2]=n;o=b+2|0;k[a+388>>2]=o;b=b+3|0;k[m>>2]=b;Bh(c,51,t,b,2)|0;m=c+96|0;k[m>>2]=k[m>>2]|h;m=Bh(c,45,b,0,0)|0;Bh(c,25,(k[u+24>>2]&32768|0)!=0?1:4,b,0)|0;Bh(c,52,t,2,b)|0;Bh(c,25,l[u+62>>0]|0,b,0)|0;Bh(c,52,t,5,b)|0;d=c+32|0;h=k[d>>2]|0;if(h>>>0>m>>>0)k[(k[c+4>>2]|0)+(m*20|0)+8>>2]=h;k[(k[c+24>>2]|0)+88>>2]=h+-1;if(!(f|e)){q=Bh(c,121,t,o,0)|0;k[a+416>>2]=q}else Bh(c,25,0,o,0)|0;os(a,t);Bh(c,74,0,n,0)|0;Bh(c,28,0,b,0)|0;Bh(c,75,0,b,n)|0;h=k[c+4>>2]|0;if(h)i[h+(((k[d>>2]|0)+-1|0)*20|0)+3>>0]=8;Bh(c,61,0,0,0)|0;break a}while(0);rg(u,n)}}while(0);r=v;return}function _q(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=r;r=r+176|0;if((r|0)>=(s|0))ka();J=O+80|0;G=O+168|0;D=O;E=O+136|0;F=O+112|0;K=k[a>>2]|0;a:do if((!((c|0)==0&(e|0)==0)?(L=K+65|0,(i[L>>0]|0)==0):0)?(M=a+484|0,N=k[M>>2]|0,(N|0)!=0):0){I=K+145|0;if(i[I>>0]|0)k[N+32>>2]=k[K+140>>2];b:do if(d&32){n=N+44|0;h=l[n>>0]|0;if(h&8){yh(a,36584,J);break a}if(!(h&4)){k[J>>2]=k[N>>2];yh(a,36640,J);break}i[n>>0]=h|32;o=k[a+8>>2]|0;n=k[a+416>>2]|0;if(n){if((n|0)<0)n=(k[o+32>>2]|0)+-1|0;if(!(i[(k[o>>2]|0)+65>>0]|0))n=(k[o+4>>2]|0)+(n*20|0)|0;else n=29120;i[n>>0]=120}n=k[a+420>>2]|0;if(n){if((n|0)<0)n=(k[o+32>>2]|0)+-1|0;if(!(i[(k[o>>2]|0)+65>>0]|0))h=(k[o+4>>2]|0)+(n*20|0)|0;else h=29120;i[h>>0]=16}h=N+36|0;if((j[h>>1]|0)>-1){n=qr(a,0,0)|0;if(!n)break;z=ph(k[a>>2]|0,k[(k[N+4>>2]|0)+((j[h>>1]|0)*24|0)>>2]|0)|0;A=k[n+4>>2]|0;k[A+4>>2]=z;i[A+12>>0]=i[a+448>>0]|0;n=er(a,0,0,0,n,l[N+45>>0]|0,0,0,0,0)|0;if(!n)break;u=n+51|0;i[u>>0]=i[u>>0]&-4|2;j[h>>1]=-1;u=j[n+46>>1]|0}else{n=k[N+8>>2]|0;c:do if(!n)n=0;else while(1){if((i[n+51>>0]&3)==2)break c;n=k[n+20>>2]|0;if(!n){n=0;break}}while(0);v=n+46|0;o=j[v>>1]|0;if((o&65535)>1){t=k[n+4>>2]|0;q=n+48|0;u=1;h=1;do{f=j[t+(u<<1)>>1]|0;p=h;g=t;while(1){if((p|0)<=0){C=36;break}if((j[g>>1]|0)==f<<16>>16){C=35;break}else{p=p+-1|0;g=g+2|0}}if((C|0)==35){C=0;j[q>>1]=(j[q>>1]|0)+-1<<16>>16}else if((C|0)==36){C=0;j[t+(h<<1)>>1]=f;o=j[v>>1]|0;h=h+1|0}u=u+1|0}while((u|0)<(o&65535|0))}else h=1;u=h&65535;j[v>>1]=u}p=n+51|0;o=i[p>>0]|32;i[p>>0]=o;A=u&65535;if(!(i[K+147>>0]|0)){if(u<<16>>16){o=k[n+4>>2]|0;h=k[N+4>>2]|0;g=0;do{i[h+((j[o+(g<<1)>>1]|0)*24|0)+20>>0]=1;g=g+1|0}while((g|0)<(A|0));o=i[p>>0]|0}i[p>>0]=o|8}k[n+40>>2]=k[N+32>>2];p=k[N+8>>2]|0;if(p){x=u<<16>>16==0;y=n+4|0;z=n+32|0;do{d:do if((i[p+51>>0]&3)!=2){do if(x)o=j[p+46>>1]|0;else{q=k[p+4>>2]|0;o=j[p+46>>1]|0;g=o&65535;f=k[y>>2]|0;w=0;h=0;do{t=j[f+(w<<1)>>1]|0;v=g;u=q;while(1){if((v|0)<=0){u=1;break}if((j[u>>1]|0)==t<<16>>16){u=0;break}else{v=v+-1|0;u=u+2|0}}h=u+h|0;w=w+1|0}while((w|0)<(A|0));g=p+46|0;if(!h)break;if(ps(K,p,(o&65535)+h|0)|0)break b;if(x)break d;t=j[g>>1]|0;w=p+4|0;f=p+32|0;v=t;u=0;t=t&65535;while(1){o=k[w>>2]|0;h=j[(k[y>>2]|0)+(u<<1)>>1]|0;v=v&65535;q=o;while(1){if((v|0)<=0){C=63;break}if((j[q>>1]|0)==h<<16>>16)break;else{v=v+-1|0;q=q+2|0}}if((C|0)==63){C=0;j[o+(t<<1)>>1]=h;k[(k[f>>2]|0)+(t<<2)>>2]=k[(k[z>>2]|0)+(u<<2)>>2];t=t+1|0}u=u+1|0;if((u|0)>=(A|0))break d;v=j[g>>1]|0}}while(0);j[p+48>>1]=o}while(0);p=k[p+20>>2]|0}while((p|0)!=0)}v=N+38|0;o=j[v>>1]|0;h=o<<16>>16;if((A|0)>=(h|0)){j[n+48>>1]=o;break}if((ps(K,n,h)|0)==0?(B=j[v>>1]|0,B<<16>>16>0):0){q=n+4|0;u=n+32|0;o=B;t=0;n=A;do{g=k[q>>2]|0;p=n;h=g;while(1){if((p|0)<=0){C=74;break}if((j[h>>1]|0)==(t|0))break;else{p=p+-1|0;h=h+2|0}}if((C|0)==74){C=0;j[g+(n<<1)>>1]=t;k[(k[u>>2]|0)+(n<<2)>>2]=11152;o=j[v>>1]|0;n=n+1|0}t=t+1|0}while((t|0)<(o<<16>>16|0))}}while(0);C=N+68|0;n=k[C>>2]|0;e:do if(n){h=k[K+20>>2]|0;if((h|0)>0){g=k[K+16>>2]|0;o=0;while(1){f=o+1|0;if((k[g+(o<<4)+12>>2]|0)==(n|0))break e;if((f|0)<(h|0))o=f;else{o=f;break}}}else o=0}else o=-1e6;while(0);g=k[N+24>>2]|0;f:do if(g){k[E+0>>2]=0;k[E+4>>2]=0;k[E+8>>2]=0;k[E+12>>2]=0;k[E+16>>2]=0;k[E+20>>2]=0;k[E+24>>2]=0;k[E+28>>2]=0;n=D+0|0;h=n+80|0;do{k[n>>2]=0;n=n+4|0}while((n|0)<(h|0));k[D>>2]=1;k[D+16>>2]=k[N>>2];k[D+24>>2]=N;k[D+48>>2]=-1;k[E>>2]=a;k[E+4>>2]=D;j[E+28>>1]=4;n=g+4|0;if((k[g>>2]|0)>0){h=0;do{if(qs(E,k[(k[n>>2]|0)+(h*20|0)>>2]|0)|0)break f;h=h+1|0}while((h|0)<(k[g>>2]|0))}}while(0);A=N+38|0;f=j[A>>1]|0;if(f<<16>>16>0){n=f<<16>>16;h=k[N+4>>2]|0;g=0;while(1){g=(l[h+22>>0]|0)+g|0;n=n+-1|0;if((n|0)<=0)break;else h=h+24|0}}else g=0;g=ks(((m[N+36>>1]|0)>>>15&65535)+g<<2,0)|0;j[N+42>>1]=g;g=k[N+8>>2]|0;if(g)do{rs(g);g=k[g+20>>2]|0}while((g|0)!=0);if(!(i[I>>0]|0)){B=Tq(a)|0;if(!B)break;Bh(B,61,0,0,0)|0;y=(k[N+12>>2]|0)==0;h=y?36672:36680;y=y?31232:35480;do if(!e){g=d<<24>>24==0?c:a+504|0;e=k[g>>2]|0;n=k[a+496>>2]|0;f=e-n|0;if((i[e>>0]|0)!=59)f=(k[g+4>>2]|0)+f|0;k[J>>2]=h;k[J+4>>2]=f;k[J+8>>2]=n;n=a+388|0;f=N;h=zh(K,36688,J)|0}else{n=a+388|0;Bh(B,55,1,k[n>>2]|0,o)|0;h=k[B+4>>2]|0;if(h)i[h+(((k[B+32>>2]|0)+-1|0)*20|0)+3>>0]=4;k[a+68>>2]=2;i[F>>0]=14;k[F+4>>2]=1;i[F+1>>0]=0;k[F+8>>2]=0;k[F+12>>2]=0;nr(a,e,F)|0;Bh(B,61,1,0,0)|0;if(!(k[a+64>>2]|0)){f=ss(a,e)|0;if(!f)break a;F=f+38|0;j[A>>1]=j[F>>1]|0;e=f+4|0;k[N+4>>2]=k[e>>2];j[F>>1]=0;k[e>>2]=0;pg(K,f)}z=N+4|0;w=j[A>>1]|0;if(w<<16>>16>0){q=w<<16>>16;t=0;h=0;u=k[z>>2]|0;while(1){f=k[u>>2]|0;g=0;while(1){p=i[f>>0]|0;if(p<<24>>24==34)g=g+1|0;else if(!(p<<24>>24))break;f=f+1|0;g=g+1|0}h=h+7+g|0;t=t+1|0;if((t|0)==(q|0))break;else u=u+24|0}p=h+2|0}else p=2;f=k[N>>2]|0;h=0;while(1){g=i[f>>0]|0;if(!(g<<24>>24))break;else if(g<<24>>24==34)h=h+1|0;f=f+1|0;h=h+1|0}u=h+p|0;x=(u|0)<50;p=x?10360:36880;v=x?20240:36888;x=x?33952:36896;u=((w<<16>>16)*6|0)+35+u|0;h=vg(u,((u|0)<0)<<31>>31)|0;if(!h){i[L>>0]=1;f=N;h=0;break}fd(u,h,36904,J)|0;g=h;while(1)if(!(i[g>>0]|0))break;else g=g+1|0;k[G>>2]=g-h&1073741823;ts(h,G,k[N>>2]|0);f=k[G>>2]|0;q=f+1|0;k[G>>2]=q;i[h+f>>0]=40;f=u-q|0;g=h+q|0;if((j[A>>1]|0)>0){w=0;t=k[z>>2]|0;while(1){fd(f,g,p,J)|0;g=h+q|0;if(!g)g=0;else{p=g;while(1)if(!(i[p>>0]|0))break;else p=p+1|0;g=p-g&1073741823}k[G>>2]=g+q;ts(h,G,k[t>>2]|0);g=k[36920+((i[t+21>>0]|0)+-65<<2)>>2]|0;p=g;while(1)if(!(i[p>>0]|0))break;else p=p+1|0;q=p-g&1073741823;p=k[G>>2]|0;pw(h+p|0,g|0,q|0)|0;q=p+q|0;k[G>>2]=q;p=w+1|0;f=u-q|0;g=h+q|0;if((p|0)<(j[A>>1]|0)){w=p;t=t+24|0;p=v}else break}}k[J>>2]=x;fd(f,g,10344,J)|0;f=N}while(0);g=K+16|0;d=k[f>>2]|0;F=k[n>>2]|0;e=k[a+384>>2]|0;k[J>>2]=k[(k[g>>2]|0)+(o<<4)>>2];k[J+4>>2]=(o|0)==1?13184:13208;k[J+8>>2]=y;k[J+12>>2]=d;k[J+16>>2]=d;k[J+20>>2]=F;k[J+24>>2]=h;k[J+28>>2]=e;Gr(a,36704,J);rg(K,h);Ir(a,o);if((i[N+44>>0]&8)!=0?(H=k[g>>2]|0,(k[(k[H+(o<<4)+12>>2]|0)+72>>2]|0)==0):0){k[J>>2]=k[H+(o<<4)>>2];Gr(a,36792,J)}k[J>>2]=k[f>>2];Nr(B,o,zh(K,36840,J)|0);if(!(i[I>>0]|0))break}else f=N;if(Nk((k[C>>2]|0)+8|0,k[f>>2]|0,N)|0){i[L>>0]=1;break}k[M>>2]=0;e=K+24|0;k[e>>2]=k[e>>2]|2;if(!(k[N+12>>2]|0)){e=k[a+496>>2]|0;e=(Sn(e,(k[((k[b>>2]|0)==0?c:b)>>2]|0)-e|0)|0)+13|0;k[N+48>>2]=e}}while(0);r=O;return}function $q(a,b){a=a|0;b=b|0;var c=0,d=0;if(!b)c=0;else{d=k[b>>2]|0;b=k[b+4>>2]|0;if((d|0)!=0?(c=ow(b|0,0,1,0)|0,c=rh(a,c,L)|0,(c|0)!=0):0){pw(c|0,d|0,b|0)|0;i[c+b>>0]=0}else c=0;qo(c)}return c|0}function ar(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0;j=r;r=r+16|0;if((r|0)>=(s|0))ka();h=j;a:do if(a){d=i[a>>0]|0;b:do if(!(d<<24>>24)){c=67;d=0}else{f=d;c=67;e=0;d=0;do{e=l[9328+(f&255)>>0]|0|e<<8;a=a+1|0;if((e|0)==1651273570)if(c<<24>>24==69|c<<24>>24==67){m=i[a>>0]|0;f=m;c=65;e=1651273570;d=m<<24>>24==40?a:d}else g=14;else if((e|0)==1718382433)if(c<<24>>24==67){c=69;e=1718382433;g=5}else g=13;else if((e|0)==1667785074){c=66;e=1667785074;d=a;g=5}else if((e|0)==1952807028){c=66;g=5}else if((e|0)==1685026146)if(c<<24>>24==67){c=69;e=1685026146;g=5}else g=13;else if((e|0)==1919246700)if(c<<24>>24==67){c=69;e=1919246700;g=5}else g=14;else if((e|0)!=1668050786)if((e&16777215|0)==6909556){c=68;break b}else g=5;else{c=66;g=5}if((g|0)==13)g=5;else if((g|0)==14)g=5;if((g|0)==5){g=0;f=i[a>>0]|0}}while(f<<24>>24!=0)}while(0);if((b|0)!=0?(i[b>>0]=1,c<<24>>24<67):0){if(!d){i[b>>0]=5;break}a=i[d>>0]|0;if(a<<24>>24){while(1){if(((a&255)+-48|0)>>>0<10)break;d=d+1|0;a=i[d>>0]|0;if(!(a<<24>>24))break a}k[h>>2]=0;In(d,h)|0;d=((k[h>>2]|0)/4|0)+1|0;d=(d|0)>255?255:d;k[h>>2]=d;i[b>>0]=d}}}else c=67;while(0);r=j;return c|0}function br(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0;m=r;r=r+32|0;if((r|0)>=(s|0))ka();g=m;h=k[a>>2]|0;e=k[a+484>>2]|0;do if(e){d=(j[e+38>>1]|0)+-1|0;f=k[e+4>>2]|0;n=k[b>>2]|0;o=(l[h+145>>0]|0)+4|0;k[g+0>>2]=0;k[g+4>>2]=0;k[g+8>>2]=0;k[g+12>>2]=0;k[g+16>>2]=0;k[g+20>>2]=0;e=g+20|0;i[e>>0]=o;k[g>>2]=78;k[g+4>>2]=79;k[g+24>>2]=0;ws(g,n)|0;if(!(i[e>>0]|0)){k[g>>2]=k[f+(d*24|0)>>2];yh(a,36480,g);break}e=f+(d*24|0)+4|0;Lk(h,k[e>>2]|0);n=Rr(h,k[b>>2]|0,1,0)|0;k[e>>2]=n;f=f+(d*24|0)+8|0;rg(h,k[f>>2]|0);d=k[b+4>>2]|0;e=(k[b+8>>2]|0)-d|0;if((d|0)!=0?(c=ow(e|0,((e|0)<0)<<31>>31|0,1,0)|0,c=rh(h,c,L)|0,(c|0)!=0):0){pw(c|0,d|0,e|0)|0;i[c+e>>0]=0}else c=0;k[f>>2]=c}while(0);Lk(h,k[b>>2]|0);r=m;return}function cr(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=r;r=r+16|0;if((r|0)>=(s|0))ka();g=h;if((b|0)==72&(c|0)!=0&(d|0)!=0?(k[a+64>>2]|0)==0:0)b=xs(k[a>>2]|0,c,d)|0;else{b=sr(k[a>>2]|0,b,e,1)|0;ys(k[a>>2]|0,b,c,d)}if((b|0)!=0?(f=k[(k[a>>2]|0)+100>>2]|0,(f|0)<(k[b+24>>2]|0)):0){k[g>>2]=f;yh(a,27152,g)}r=h;return b|0}function dr(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=r;r=r+16|0;if((r|0)>=(s|0))ka();z=A;x=k[a+484>>2]|0;do if((x|0)!=0?(i[a+451>>0]|0)==0:0){y=x+44|0;g=l[y>>0]|0;if(g&4){k[z>>2]=k[x>>2];yh(a,36376,z);break}v=g|4;i[y>>0]=v;w=(b|0)==0;if(w){g=(j[x+38>>1]|0)+-1|0;t=k[x+4>>2]|0;f=t+(g*24|0)+23|0;i[f>>0]=l[f>>0]|1;f=g;h=1;g=k[t+(g*24|0)+12>>2]|0}else{u=k[b>>2]|0;if((u|0)>0){p=b+4|0;q=x+4|0;o=j[x+38>>1]|0;t=0;g=0;do{a:do if(o<<16>>16>0){m=k[(k[p>>2]|0)+(t*20|0)+4>>2]|0;n=k[q>>2]|0;h=0;while(1){f=h+1|0;if(!(id(m,k[n+(h*24|0)>>2]|0)|0))break;if((f|0)<(o<<16>>16|0))h=f;else break a}f=n+(h*24|0)+23|0;i[f>>0]=l[f>>0]|1;f=h;g=k[n+(h*24|0)+12>>2]|0}else f=0;while(0);t=t+1|0}while((t|0)!=(u|0))}else{f=-1;g=0}h=(u|0)==1}if(h&(g|0)!=0?(id(g,11144)|0|e|0)==0:0){j[x+36>>1]=f;i[x+45>>0]=c;i[y>>0]=v|d<<3;if(w){b=0;break}i[a+448>>0]=i[(k[b+4>>2]|0)+12>>0]|0;break}if(d){yh(a,36424,z);break}g=k[a+8>>2]|0;f=(g|0)!=0;if(f){t=Bh(g,156,0,0,0)|0;k[a+420>>2]=t}b=er(a,0,0,0,b,c,0,0,e,0)|0;if((b|0)!=0?(t=b+51|0,i[t>>0]=i[t>>0]&-4|2,f):0){b=k[a+420>>2]|0;f=k[g+32>>2]|0;if(f>>>0>b>>>0)k[(k[g+4>>2]|0)+(b*20|0)+8>>2]=f;k[(k[g+24>>2]|0)+88>>2]=f+-1;b=0}else b=0}while(0);Sk(k[a>>2]|0,b);r=A;return}function er(a,b,c,d,e,f,g,h,n,o){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;n=n|0;o=o|0;var p=0,q=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;V=r;r=r+144|0;if((r|0)>=(s|0))ka();S=V;B=V+112|0;u=V+88|0;Q=V+84|0;K=V+80|0;U=k[a>>2]|0;k[Q>>2]=0;k[K>>2]=0;P=U+65|0;a:do if(((i[P>>0]|0)==0?(i[a+451>>0]|0)==0:0)?(Ln(a)|0)==0:0){R=(d|0)!=0;b:do if(R){b=jr(a,b,c,Q)|0;if((b|0)<0){p=0;c=0;break a}if((i[U+145>>0]|0)==0?(p=Or(a,d)|0,(k[c+4>>2]|0)==0&(p|0)!=0):0)b=(k[p+68>>2]|0)==(k[(k[U+16>>2]|0)+28>>2]|0)?1:b;c=k[Q>>2]|0;p=k[a>>2]|0;k[u>>2]=a;p=k[p+16>>2]|0;k[u+12>>2]=k[p+(b<<4)>>2];k[u+4>>2]=k[p+(b<<4)+12>>2];k[u+16>>2]=20632;k[u+20>>2]=c;p=(b|0)==1;k[u+8>>2]=p&1;Pr(u,d)|0;t=Zr(a,0,d+8|0)|0;if(!t){p=0;c=0;break a}if(p?(k[(k[U+16>>2]|0)+28>>2]|0)!=(k[t+68>>2]|0):0){k[S>>2]=k[t>>2];yh(a,35920,S);p=0;c=0;break a}if((i[t+44>>0]&32)!=0?(q=k[t+8>>2]|0,(q|0)!=0):0){p=q;while(1){if((i[p+51>>0]&3)==2){q=b;J=p;u=t;break b}p=k[p+20>>2]|0;if(!p){q=b;J=0;u=t;break}}}else{q=b;J=0;u=t}}else{u=k[a+484>>2]|0;if(!u){p=0;c=0;break a}b=k[u+68>>2]|0;if(b){p=k[U+20>>2]|0;if((p|0)>0){c=k[U+16>>2]|0;t=0;while(1){q=t+1|0;if((k[c+(t<<4)+12>>2]|0)==(b|0)){c=0;q=t;J=0;break b}if((q|0)<(p|0))t=q;else{c=0;J=0;break}}}else{c=0;q=0;J=0}}else{c=0;q=-1e6;J=0}}while(0);O=U+16|0;C=k[O>>2]|0;b=C+(q<<4)|0;x=k[u>>2]|0;if(((Kc(x,25568,7)|0)==0?(i[U+145>>0]|0)==0:0)?(Kc(x+7|0,35976,9)|0)!=0:0){k[S>>2]=x;yh(a,35992,S);p=0;c=0;break}if(k[u+12>>2]|0){yh(a,36024,S);p=0;c=0;break}N=u+44|0;if(i[N>>0]&16){yh(a,36056,S);p=0;c=0;break}D=(c|0)==0;if(!D){c=$q(U,c)|0;if(!c){p=0;c=0;break}if(Qr(a,c)|0){p=0;break}if((i[U+145>>0]|0)==0?(di(U,c,0)|0)!=0:0){k[S>>2]=c;yh(a,36096,S);p=0;break}if(gq(U,c,k[b>>2]|0)|0)if(!o){k[S>>2]=c;yh(a,36136,S);p=0;break}else{Fr(a,q);p=0;break}else t=c}else{p=k[u+8>>2]|0;if(!p)t=1;else{t=1;do{t=t+1|0;p=k[p+20>>2]|0}while((p|0)!=0)}k[S>>2]=x;k[S+4>>2]=t;t=zh(U,36160,S)|0;if(!t){p=0;c=0;break}}b=k[b>>2]|0;p=(q|0)==1;L=p?13184:13208;if((Xq(a,18,L,0,b)|0)==0?(Xq(a,p?3:1,t,k[u>>2]|0,b)|0)==0:0){if(!e){e=qr(a,0,0)|0;if(!e){e=0;p=0;c=t;break}F=ph(k[a>>2]|0,k[(k[u+4>>2]|0)+(((j[u+38>>1]|0)+-1|0)*24|0)>>2]|0)|0;G=k[e+4>>2]|0;k[G+4>>2]=F;i[G+12>>0]=n}A=k[e>>2]|0;if((A|0)>0){x=k[e+4>>2]|0;v=0;b=0;do{p=k[x+(v*20|0)>>2]|0;if(p){c=k[p+8>>2]|0;if(!c)p=1;else{p=c;while(1)if(!(i[p>>0]|0))break;else p=p+1|0;p=(p-c&1073741823)+1|0}b=p+b|0}v=v+1|0}while((v|0)<(A|0));c=b}else c=0;if(!t)p=0;else{b=t;while(1)if(!(i[b>>0]|0))break;else b=b+1|0;p=b-t&1073741823}F=(J|0)!=0;if(F)b=m[J+46>>1]|0;else b=1;M=zs(U,A+b&65535,c+1+p|0,K)|0;c:do if(!(i[P>>0]|0)){E=k[K>>2]|0;k[M>>2]=E;I=p+1|0;z=E+I|0;k[K>>2]=z;pw(E|0,t|0,I|0)|0;k[M+12>>2]=u;I=M+50|0;i[I>>0]=f;E=M+51|0;i[E>>0]=i[E>>0]&-12|((f|0)!=0&1)<<3&255|D&1;H=M+24|0;k[H>>2]=k[(k[O>>2]|0)+(q<<4)+12>>2];b=k[e>>2]|0;G=M+46|0;j[G>>1]=b;if(h){k[B+0>>2]=0;k[B+4>>2]=0;k[B+8>>2]=0;k[B+12>>2]=0;k[B+16>>2]=0;k[B+20>>2]=0;k[B+24>>2]=0;k[B+28>>2]=0;x=S+0|0;c=x+80|0;do{k[x>>2]=0;x=x+4|0}while((x|0)<(c|0));k[S>>2]=1;k[S+16>>2]=k[u>>2];k[S+24>>2]=u;k[S+48>>2]=-1;k[B>>2]=a;k[B+4>>2]=S;j[B+28>>1]=16;qs(B,h)|0;k[M+36>>2]=h;b=k[e>>2]|0}w=(l[(k[C+(q<<4)+12>>2]|0)+76>>0]|0)>3;d:do if((b|0)>0){D=u+4|0;C=u+38|0;B=M+4|0;h=U+145|0;b=M+32|0;v=M+28|0;c=0;n=k[e+4>>2]|0;while(1){p=k[n+4>>2]|0;x=j[C>>1]|0;e:do if(x<<16>>16>0){A=0;y=k[D>>2]|0;while(1){if(!(id(p,k[y>>2]|0)|0)){o=A;break e}A=A+1|0;if((A|0)<(x<<16>>16|0))y=y+24|0;else{o=A;break}}}else o=0;while(0);if((o|0)>=(x<<16>>16|0))break;j[(k[B>>2]|0)+(c<<1)>>1]=o;A=k[n>>2]|0;if(!A){A=k[(k[D>>2]|0)+(o*24|0)+16>>2]|0;A=(A|0)!=0?A:11152}else{y=k[A+8>>2]|0;if(!y)A=1;else{A=y;while(1)if(!(i[A>>0]|0))break;else A=A+1|0;A=(A-y&1073741823)+1|0}pw(z|0,y|0,A|0)|0;y=k[K>>2]|0;z=y+A|0;k[K>>2]=z;A=y}if((i[h>>0]|0)==0?(hr(a,A)|0)==0:0){c=0;p=0;T=134;break c}k[(k[b>>2]|0)+(c<<2)>>2]=A;i[(k[v>>2]|0)+c>>0]=w?i[n+12>>0]|0:0;if(!(i[(k[D>>2]|0)+(o*24|0)+20>>0]|0))i[E>>0]=i[E>>0]&-9;c=c+1|0;if((c|0)<(k[e>>2]|0))n=n+20|0;else break d}k[S>>2]=k[u>>2];k[S+4>>2]=p;yh(a,36184,S);i[a+17>>0]=1;c=0;p=0;T=134;break c}else c=0;while(0);do if(F){w=J+46|0;x=j[w>>1]|0;if(!(x<<16>>16))break;B=J+4|0;C=M+4|0;D=M+48|0;n=J+32|0;o=M+32|0;b=J+28|0;v=M+28|0;h=0;do{y=j[(k[B>>2]|0)+(h<<1)>>1]|0;p=k[C>>2]|0;A=m[G>>1]|0;z=p;while(1){if((A|0)<=0){T=92;break}if((j[z>>1]|0)==y<<16>>16){T=91;break}else{A=A+-1|0;z=z+2|0}}if((T|0)==91){T=0;j[D>>1]=(j[D>>1]|0)+-1<<16>>16}else if((T|0)==92){T=0;j[p+(c<<1)>>1]=y;k[(k[o>>2]|0)+(c<<2)>>2]=k[(k[n>>2]|0)+(h<<2)>>2];i[(k[v>>2]|0)+c>>0]=i[(k[b>>2]|0)+h>>0]|0;x=j[w>>1]|0;c=c+1|0}h=h+1|0}while((h|0)<(x&65535|0))}else{j[(k[M+4>>2]|0)+(c<<1)>>1]=-1;k[(k[M+32>>2]|0)+(c<<2)>>2]=11152}while(0);hq(M);h=a+484|0;b=k[h>>2]|0;if(!b){rs(M);b=k[h>>2]|0}f:do if((u|0)==(b|0)){p=k[u+8>>2]|0;if(!p)break;y=j[G>>1]|0;z=M+4|0;A=M+32|0;while(1){if((j[p+46>>1]|0)==y<<16>>16){g:do if(!(y<<16>>16)){h=0;b=0}else{v=k[p+4>>2]|0;w=k[z>>2]|0;x=p+32|0;b=0;while(1){if((j[v+(b<<1)>>1]|0)!=(j[w+(b<<1)>>1]|0)){h=y;break g}h=k[(k[x>>2]|0)+(b<<2)>>2]|0;c=k[(k[A>>2]|0)+(b<<2)>>2]|0;if((h|0)!=(c|0)?(id(h,c)|0)!=0:0){h=y;break g}b=b+1|0;if((b|0)>=(y&65535|0)){h=y;break}}}while(0);if((b|0)==(h&65535|0))break}p=k[p+20>>2]|0;if(!p)break f}b=p+50|0;c=i[b>>0]|0;h=i[I>>0]|0;if(c<<24>>24==h<<24>>24){c=0;break c}if(!(c<<24>>24==10|h<<24>>24==10)){k[S>>2]=0;yh(a,36216,S);c=i[b>>0]|0}if(c<<24>>24!=10){c=0;T=134;break c}i[b>>0]=i[I>>0]|0;c=0;break c}while(0);c=U+145|0;do if(!(i[c>>0]|0)){if(k[a+64>>2]|0){T=126;break}if(!((i[N>>0]&32)==0|R)){T=126;break}p=a+72|0;h=(k[p>>2]|0)+1|0;k[p>>2]=h;p=Tq(a)|0;if(!p){c=0;p=0;T=134;break c}G=k[a+408>>2]|0;G=(G|0)==0?a:G;Fr(a,q);F=G+328|0;k[F>>2]=k[F>>2]|1<<q;G=G+20|0;i[G>>0]=l[G>>0]|1;Bh(p,120,q,h,0)|0;if(!g)b=0;else{b=k[k[Q>>2]>>2]|0;G=(k[a+504>>2]|0)-b+(k[a+508>>2]|0)|0;F=G+-1|0;G=(i[b+F>>0]|0)==59?F:G;k[S>>2]=(f|0)==0?10360:36288;k[S+4>>2]=G;k[S+8>>2]=b;b=zh(U,36264,S)|0}F=k[M>>2]|0;G=k[u>>2]|0;k[S>>2]=k[(k[O>>2]|0)+(q<<4)>>2];k[S+4>>2]=L;k[S+8>>2]=F;k[S+12>>2]=G;k[S+16>>2]=h;k[S+20>>2]=b;Gr(a,36296,S);rg(U,b);if(!R)break;As(a,M,h);Ir(a,q);k[S>>2]=k[M>>2];Nr(p,q,zh(U,36344,S)|0);Bh(p,144,0,0,0)|0;T=126}else{if(Nk((k[H>>2]|0)+24|0,k[M>>2]|0,M)|0){i[P>>0]=1;c=0;p=0;T=134;break c}G=U+24|0;k[G>>2]=k[G>>2]|2;if(!R)break;k[M+40>>2]=k[U+140>>2];T=126}while(0);if((T|0)==126?!((i[c>>0]|0)!=0|(d|0)==0):0){c=0;p=0;T=134;break}c=k[u+8>>2]|0;do if((f|0)==5){if(!c){c=0;break}if((i[c+50>>0]|0)==5)break;do{p=c+20|0;c=k[p>>2]|0;if(!c){c=0;break}}while((i[c+50>>0]|0)!=5);k[M+20>>2]=c;k[p>>2]=M;h=0;p=M;c=t;break a}while(0);k[M+20>>2]=c;k[u+8>>2]=M;h=0;p=M;c=t;break a}else{c=h;p=0;T=134}while(0);if((T|0)==134)if(!M){h=c;c=t;break}Ok(U,M);h=c;c=t}else{p=0;c=t}}else{p=0;c=0}while(0);Lk(U,h);Sk(U,e);Io(U,d);rg(U,c);r=V;return p|0}function fr(a,b){a=a|0;b=b|0;var c=0,d=0;c=k[a+484>>2]|0;d=k[a>>2]|0;if(((c|0)!=0?(i[a+451>>0]|0)==0:0)?(j[(k[(k[(k[d+16>>2]|0)+(l[d+144>>0]<<4)+4>>2]|0)+4>>2]|0)+22>>1]&1)==0:0){d=c+24|0;c=qr(a,k[d>>2]|0,b)|0;k[d>>2]=c;if(k[a+324>>2]|0)rr(a,c,a+320|0,1)}else Lk(d,b);return}function gr(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=r;r=r+16|0;if((r|0)>=(s|0))ka();z=C;B=k[a>>2]|0;A=k[a+484>>2]|0;a:do if((A|0)!=0?(i[a+451>>0]|0)==0:0){w=(b|0)==0;do if(w){y=j[A+38>>1]|0;g=(y<<16>>16)+-1|0;if(y<<16>>16<1){f=0;break a}if(d)if((k[d>>2]|0)==1){g=1;f=13}else{k[z>>2]=k[(k[A+4>>2]|0)+(g*24|0)>>2];k[z+4>>2]=c;yh(a,35712,z);f=0;break a}else{g=1;f=12}}else{if(!d){g=k[b>>2]|0;f=12;break}g=k[d>>2]|0;if((g|0)==(k[b>>2]|0))f=13;else{yh(a,35776,z);f=0;break a}}while(0);if((f|0)==12){h=c+4|0;n=h;t=0;h=(g<<3)+37+(k[h>>2]|0)|0;y=g}else if((f|0)==13){n=c+4|0;h=(g<<3)+37+(k[n>>2]|0)|0;o=k[d>>2]|0;if((o|0)>0){p=k[d+4>>2]|0;q=0;do{m=k[p+(q*20|0)+4>>2]|0;if(!m)f=1;else{l=m;while(1)if(!(i[l>>0]|0))break;else l=l+1|0;f=(l-m&1073741823)+1|0}h=f+h|0;q=q+1|0}while((q|0)<(o|0));t=1;y=g}else{t=1;y=g}}f=rh(B,h,((h|0)<0)<<31>>31)|0;if(f){kw(f|0,0,h|0)|0;k[f>>2]=A;x=A+16|0;k[f+4>>2]=k[x>>2];u=f+36|0;l=u+(y<<3)|0;v=f+8|0;k[v>>2]=l;pw(l|0,k[c>>2]|0,k[n>>2]|0)|0;i[l+(k[n>>2]|0)>>0]=0;qo(l);l=l+((k[n>>2]|0)+1)|0;k[f+20>>2]=y;b:do if(!w){if((y|0)>0){h=A+4|0;c=b+4|0;m=j[A+38>>1]|0;g=0;while(1){c:do if(m<<16>>16>0){q=k[h>>2]|0;p=k[(k[c>>2]|0)+(g*20|0)+4>>2]|0;o=0;while(1){n=o+1|0;if(!(id(k[q+(o*24|0)>>2]|0,p)|0)){n=o;break}if((n|0)<(m<<16>>16|0))o=n;else break c}k[u+(g<<3)>>2]=n}else n=0;while(0);if((n|0)>=(m<<16>>16|0))break;g=g+1|0;if((g|0)>=(y|0))break b}k[z>>2]=k[(k[c>>2]|0)+(g*20|0)+4>>2];yh(a,35872,z);break a}}else k[u>>2]=(j[A+38>>1]|0)+-1;while(0);if(t&(y|0)>0){m=d+4|0;n=0;while(1){h=k[(k[m>>2]|0)+(n*20|0)+4>>2]|0;if(!h)g=0;else{g=h;while(1)if(!(i[g>>0]|0))break;else g=g+1|0;g=g-h&1073741823}k[u+(n<<3)+4>>2]=l;pw(l|0,h|0,g|0)|0;i[l+g>>0]=0;n=n+1|0;if((n|0)==(y|0))break;else l=l+(g+1)|0}}i[f+24>>0]=0;i[f+25>>0]=e;i[f+26>>0]=e>>>8;g=Nk((k[A+68>>2]|0)+56|0,k[v>>2]|0,f)|0;if((g|0)==(f|0)){i[B+65>>0]=1;break}if(g){k[f+12>>2]=g;k[g+16>>2]=f}k[x>>2]=f;f=0}else f=0}else f=0;while(0);rg(B,f);Sk(B,b);Sk(B,d);r=C;return}function hr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=k[a>>2]|0;d=i[c+62>>0]|0;e=i[c+145>>0]|0;c=bo(c,d,b,e&255)|0;do if(!(e<<24>>24)){if((c|0)!=0?(k[c+12>>2]|0)!=0:0)break;c=Bs(a,d,c,b)|0}while(0);return c|0}function ir(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0,w=0,x=0,y=0;y=r;r=r+16|0;if((r|0)>=(s|0))ka();w=y;q=y+12|0;x=k[a>>2]|0;do if(!(i[x+65>>0]|0)){d=(d|0)!=0;if(d){p=x+68|0;i[p>>0]=(i[p>>0]|0)+1<<24>>24;v=Zr(a,c,b+8|0)|0;i[p>>0]=(i[p>>0]|0)+-1<<24>>24}else v=Zr(a,c,b+8|0)|0;if(!v){if(!d)break;Er(a,k[b+12>>2]|0);break}n=v+68|0;f=k[n>>2]|0;a:do if(f){d=k[x+20>>2]|0;if((d|0)>0){e=k[x+16>>2]|0;h=0;while(1){g=h+1|0;if((k[e+(h<<4)+12>>2]|0)==(f|0)){g=h;break a}if((g|0)<(d|0))h=g;else break}}else g=0}else g=-1e6;while(0);t=v+44|0;if((i[t>>0]&16)!=0?(mr(a,v)|0)!=0:0)break;h=(g|0)==1;u=h?13184:13208;d=k[(k[x+16>>2]|0)+(g<<4)>>2]|0;if(!(Xq(a,9,u,0,d)|0)){e=(c|0)!=0;do if(e){f=h?15:17;h=0}else{if(!(i[t>>0]&16)){f=h?13:11;h=0;break}h=v+60|0;while(1){h=k[h>>2]|0;if((k[h>>2]|0)==(x|0))break;else h=h+24|0}f=30;h=k[(k[h+4>>2]|0)+4>>2]|0}while(0);if((Xq(a,f,k[v>>2]|0,h,d)|0)==0?(Xq(a,9,k[v>>2]|0,0,d)|0)==0:0){h=k[v>>2]|0;if((Kc(h,25568,7)|0)==0?(Kc(h,35488,11)|0)!=0:0){k[w>>2]=h;yh(a,35504,w);break}d=v+12|0;f=(k[d>>2]|0)==0;if(e){if(f){k[w>>2]=h;yh(a,35536,w);break}}else if(!f){k[w>>2]=h;yh(a,35576,w);break}if(Tq(a)|0){o=a+408|0;f=k[o>>2]|0;f=(f|0)==0?a:f;Fr(a,g);p=1<<g;e=f+328|0;k[e>>2]=k[e>>2]|p;f=f+20|0;i[f>>0]=l[f>>0]|1;Hr(a,g,28544,k[v>>2]|0);f=k[a>>2]|0;e=f+24|0;b:do if(((k[e>>2]&524288|0)!=0?(i[t>>0]&16)==0:0)?(k[d>>2]|0)==0:0){m=Tq(a)|0;q=gn((k[n>>2]|0)+56|0,k[v>>2]|0,q)|0;if((q|0)!=0?(k[q+8>>2]|0)!=0:0)h=0;else{h=k[v+16>>2]|0;if(!h)break;while(1){if(i[h+24>>0]|0)break;if(k[e>>2]&16777216)break;h=k[h+4>>2]|0;if(!h)break b}h=Cs(m)|0;Bh(m,135,1,h,0)|0}q=a+438|0;i[q>>0]=1;wr(a,Ds(f,b,0)|0,0);i[q>>0]=0;if(!(k[e>>2]&16777216)){Bh(m,135,0,(k[m+32>>2]|0)+2|0,0)|0;Es(a,787,2,0,-2,4)}if(h){f=k[m+24>>2]|0;d=~h;do if((h|0)<0){h=k[f+112>>2]|0;if(!h)break;k[h+(d<<2)>>2]=k[m+32>>2]}while(0);k[f+88>>2]=(k[m+32>>2]|0)+-1}}while(0);m=k[a>>2]|0;n=m+16|0;f=k[n>>2]|0;d=Tq(a)|0;q=k[o>>2]|0;q=(q|0)==0?a:q;Fr(a,g);o=q+328|0;k[o>>2]=k[o>>2]|p;q=q+20|0;i[q>>0]=l[q>>0]|1;if(i[t>>0]&16)Bh(d,146,0,0,0)|0;h=Fs(a,v)|0;if(h)do{Vr(a,h);h=k[h+32>>2]|0}while((h|0)!=0);f=f+(g<<4)|0;if(i[t>>0]&8){q=k[v>>2]|0;k[w>>2]=k[f>>2];k[w+4>>2]=q;Gr(a,35608,w)}q=k[v>>2]|0;k[w>>2]=k[f>>2];k[w+4>>2]=u;k[w+8>>2]=q;Gr(a,35656,w);if((c|0)==0?(i[t>>0]&16)==0:0)Gs(a,v);if(i[t>>0]&16){q=k[v>>2]|0;Ch(d,Bh(d,148,g,0,0)|0,q,0)}e=k[v>>2]|0;Ch(d,Bh(d,124,g,0,0)|0,e,0);Ir(a,g);d=k[(k[n>>2]|0)+(g<<4)+12>>2]|0;e=j[d+78>>1]|0;if(e&2){f=k[d+16>>2]|0;if(f){e=f;do{d=k[e+8>>2]|0;if(k[d+12>>2]|0){Qk(m,d);k[d+4>>2]=0;j[d+38>>1]=0}e=k[e>>2]|0}while((e|0)!=0);e=k[(k[n>>2]|0)+(g<<4)+12>>2]|0;d=e;e=j[e+78>>1]|0}j[d+78>>1]=e&65533}}}}}while(0);Io(x,b);r=y;return}function jr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;h=r;r=r+16|0;if((r|0)>=(s|0))ka();f=h;e=k[a>>2]|0;do if((c|0)!=0?(k[c+4>>2]|0)!=0:0){if(i[e+145>>0]|0){yh(a,28488,f);c=a+64|0;k[c>>2]=(k[c>>2]|0)+1;c=-1;break}k[d>>2]=c;d=$q(e,b)|0;c=_h(e,d)|0;rg(e,d);if((c|0)<0){k[f>>2]=b;yh(a,28512,f);c=a+64|0;k[c>>2]=(k[c>>2]|0)+1;c=-1}}else g=7;while(0);if((g|0)==7){c=l[e+144>>0]|0;k[d>>2]=b}r=h;return c|0}function kr(a,b){a=a|0;b=b|0;a:do if(!b)b=0;else while(1){if(Mr(a,k[b>>2]|0)|0){b=1;break a}if(Pr(a,k[b+32>>2]|0)|0){b=1;break a}if(Lr(a,k[b+36>>2]|0)|0){b=1;break a}if(Mr(a,k[b+40>>2]|0)|0){b=1;break a}if(Lr(a,k[b+44>>2]|0)|0){b=1;break a}if(Mr(a,k[b+48>>2]|0)|0){b=1;break a}if(Lr(a,k[b+60>>2]|0)|0){b=1;break a}if(Lr(a,k[b+64>>2]|0)|0){b=1;break a}b=k[b+52>>2]|0;if(!b){b=0;break}}while(0);return b|0}function lr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;if((b|0)!=0?(d=rh(a,72,0)|0,(d|0)!=0):0){f=Ur(a,k[b>>2]|0,c)|0;k[d>>2]=f;f=Ds(a,k[b+32>>2]|0,c)|0;k[d+32>>2]=f;f=Rr(a,k[b+36>>2]|0,c,0)|0;k[d+36>>2]=f;f=Ur(a,k[b+40>>2]|0,c)|0;k[d+40>>2]=f;f=Rr(a,k[b+44>>2]|0,c,0)|0;k[d+44>>2]=f;f=Ur(a,k[b+48>>2]|0,c)|0;k[d+48>>2]=f;i[d+4>>0]=i[b+4>>0]|0;f=lr(a,k[b+52>>2]|0,c)|0;k[d+52>>2]=f;if(f)k[f+56>>2]=d;k[d+56>>2]=0;h=Rr(a,k[b+60>>2]|0,c,0)|0;k[d+60>>2]=h;h=Rr(a,k[b+64>>2]|0,c,0)|0;k[d+64>>2]=h;k[d+8>>2]=0;k[d+12>>2]=0;j[d+6>>1]=(m[b+6>>1]|0)&65527;k[d+16>>2]=-1;k[d+20>>2]=-1;h=b+24|0;f=k[h+4>>2]|0;c=d+24|0;k[c>>2]=k[h>>2];k[c+4>>2]=f;c=k[b+68>>2]|0;if((c|0)!=0?(g=k[c>>2]<<4|8,e=rh(a,g,((g|0)<0)<<31>>31)|0,(e|0)!=0):0){kw(e|0,0,g|0)|0;k[e>>2]=k[c>>2];if((k[c>>2]|0)>0){b=e+8|0;f=0;do{g=lr(a,k[c+(f<<4)+16>>2]|0,0)|0;k[b+(f<<4)+8>>2]=g;g=Ur(a,k[c+(f<<4)+12>>2]|0,0)|0;k[b+(f<<4)+4>>2]=g;g=ph(a,k[c+(f<<4)+8>>2]|0)|0;k[b+(f<<4)>>2]=g;f=f+1|0}while((f|0)<(k[c>>2]|0))}}else e=0;k[d+68>>2]=e}else d=0;return d|0}function mr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0,n=0,o=0,p=0,q=0,t=0;t=r;r=r+16|0;if((r|0)>=(s|0))ka();n=t;e=t+8|0;g=t+4|0;q=k[a>>2]|0;h=b+44|0;d=i[h>>0]|0;a:do if(!(d&16))o=11;else{c=k[b+60>>2]|0;if(c)do{if((k[c>>2]|0)==(q|0)){o=11;break a}c=k[c+24>>2]|0}while((c|0)!=0);c=b+56|0;d=gn(q+308|0,k[k[c>>2]>>2]|0,e)|0;if((d|0)!=0?(f=k[d+8>>2]|0,(f|0)!=0):0){k[g>>2]=0;f=(En(q,b,f,k[(k[f>>2]|0)+8>>2]|0,g)|0)==0;d=k[g>>2]|0;if(f){rg(q,d);d=i[h>>0]|0;o=11;break}else{k[n>>2]=d;yh(a,10344,n);rg(q,d);c=1;break}}k[n>>2]=k[k[c>>2]>>2];yh(a,28320,n);c=1}while(0);do if((o|0)==11)if((d&16)==0?(p=b+38|0,l=j[p>>1]|0,l<<16>>16<=0):0){if(l<<16>>16<0){k[n>>2]=k[b>>2];yh(a,26752,n);c=1;break}d=lr(q,k[b+12>>2]|0,0)|0;if(!d)c=1;else{l=q+250|0;h=i[l>>0]|0;o=a+68|0;n=k[o>>2]|0;Hs(a,k[d+32>>2]|0);j[p>>1]=-1;i[l>>0]=0;g=q+284|0;f=k[g>>2]|0;k[g>>2]=0;c=ss(a,d)|0;k[g>>2]=f;i[l>>0]=h;k[o>>2]=n;if(!c){j[p>>1]=0;c=1}else{a=c+38|0;j[p>>1]=j[a>>1]|0;o=c+4|0;k[b+4>>2]=k[o>>2];j[a>>1]=0;k[o>>2]=0;pg(q,c);c=(k[b+68>>2]|0)+78|0;j[c>>1]=m[c>>1]|0|2;c=0}Rk(q,d,1)}}else c=0;while(0);r=t;return c|0}
function nr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0;za=r;r=r+240|0;if((r|0)>=(s|0))ka();oa=za;pa=za+220|0;ga=za+216|0;ea=za+196|0;fa=za+176|0;ra=za+164|0;sa=za+136|0;va=za+88|0;ca=za+64|0;ia=za+32|0;xa=a+464|0;ya=k[xa>>2]|0;la=a+468|0;ua=k[la>>2]|0;k[la>>2]=ua+1;k[xa>>2]=ua;ua=k[a>>2]|0;a:do if((((b|0)!=0?(ma=ua+65|0,(i[ma>>0]|0)==0):0)?(d=a+64|0,(k[d>>2]|0)==0):0)?(Xq(a,21,0,0,0)|0)==0:0){A=va+0|0;z=A+48|0;do{k[A>>2]=0;A=A+4|0}while((A|0)<(z|0));ha=b+48|0;if((l[c>>0]|0)<9){Sk(ua,k[ha>>2]|0);k[ha>>2]=0;ba=b+6|0;j[ba>>1]=m[ba>>1]&65534}Is(a,b,0);k[sa+0>>2]=0;k[sa+4>>2]=0;k[sa+8>>2]=0;k[sa+12>>2]=0;k[sa+16>>2]=0;k[sa+20>>2]=0;k[sa+24>>2]=0;k[sa>>2]=k[ha>>2];ja=b+32|0;u=k[ja>>2]|0;t=k[b>>2]|0;b:do if(((k[d>>2]|0)==0?(i[ma>>0]|0)==0:0)?(qa=b+6|0,w=(m[qa>>1]|0)>>>2&1,ta=Tq(a)|0,(ta|0)!=0):0){if((k[t>>2]|0)>1?(i[c>>0]&-2)<<24>>24==10:0){yh(a,35368,oa);wa=444;break}na=b+52|0;t=k[na>>2]|0;c:do if(!t){h=a+460|0;g=a+492|0;f=b+36|0;e=a+408|0;d=b+60|0;Q=b+64|0;R=b+4|0;S=ua+60|0;T=ta+32|0;U=a+72|0;V=ca+4|0;W=ca+1|0;X=ca+8|0;Y=ca+12|0;Z=ta+4|0;_=ta+24|0;$=a+19|0;aa=a+56|0;ba=a+80|0;P=0;v=w;while(1){if((P|0)>=(k[u>>2]|0)){D=f;N=0;w=v;R=u;break c}J=k[u+(P*72|0)+28>>2]|0;do if(!J)w=P;else{M=u+(P*72|0)+32|0;x=k[M>>2]|0;if(x){if(i[u+(P*72|0)+45>>0]&4){w=P;break}Bh(ta,17,k[u+(P*72|0)+36>>2]|0,x,0)|0;w=P;break}k[oa>>2]=0;Js(b,oa);k[h>>2]=(k[h>>2]|0)+(k[oa>>2]|0);q=j[J+6>>1]&4;N=k[g>>2]|0;p=k[a>>2]|0;d:do if(!(j[p+60>>1]&1)){H=k[ja>>2]|0;o=k[H+(P*72|0)+48>>2]|0;G=H+(P*72|0)+28|0;K=k[G>>2]|0;n=q<<16>>16!=0;do if(n){if(v){wa=120;break d}if((k[H>>2]|0)>1){wa=120;break d}O=k[f>>2]|0;if((O|0)!=0?(k[O+4>>2]&2097152|0)!=0:0){wa=120;break d}D=k[b>>2]|0;do if(D){B=k[D>>2]|0;if((B|0)<=0)break;E=k[D+4>>2]|0;D=0;C=0;do{C=k[(k[E+(D*20|0)>>2]|0)+4>>2]|C;D=D+1|0}while((D|0)!=(B|0));if(C&2097152){wa=120;break d}}while(0);D=k[ha>>2]|0;if(!D)break;B=k[D>>2]|0;if((B|0)<=0)break;E=k[D+4>>2]|0;D=0;C=0;do{C=k[(k[E+(D*20|0)>>2]|0)+4>>2]|C;D=D+1|0}while((D|0)!=(B|0));if(C&2097152){wa=120;break d}}while(0);E=k[K+32>>2]|0;D=(k[K+60>>2]|0)==0;if(!D?(k[d>>2]|0)!=0:0){wa=120;break}if(k[K+64>>2]|0){wa=120;break}B=j[qa>>1]|0;C=(B&64)==0;if(!(C|D)){wa=120;break}if(!(k[E>>2]|0)){wa=120;break}A=j[K+6>>1]|0;if(A&1){wa=120;break}E=D|C^1;if(!E?(k[H>>2]|0)>1|(v|0)!=0:0){wa=120;break}D=B&1;if(D<<16>>16!=0&n){wa=120;break}y=k[ha>>2]|0;z=(y|0)==0;if(!z?(k[K+48>>2]|0)!=0:0){wa=120;break}F=(v|0)!=0;if(F?(k[K+48>>2]|0)!=0:0){wa=120;break}if(E){if(A&6144){wa=120;break}}else if(!((k[f>>2]|0)==0&D<<16>>16==0&(A&6144)==0)){wa=120;break}if((B&2048)!=0?(k[K+52>>2]|0)!=0:0){wa=120;break}O=H+(P*72|0)+44|0;if(i[O>>0]&32){wa=120;break}B=K+52|0;E=k[B>>2]|0;do if(E){if(!(D<<16>>16==0&(((k[K+48>>2]|0)!=0|F)^1))){wa=120;break d}if((k[H>>2]|0)!=1){wa=120;break d}e:do if(K){if(!(A&5))C=K;else{wa=120;break d}while(1){D=(E|0)==0;if(!D?(i[C+4>>0]|0)!=116:0){wa=120;break d}if((k[k[C+32>>2]>>2]|0)<1){wa=120;break d}if((k[k[K>>2]>>2]|0)!=(k[k[C>>2]>>2]|0)){wa=120;break d}if(D)break e;if(j[E+6>>1]&5){wa=120;break d}C=E;E=k[E+52>>2]|0}}while(0);if(z)break;C=k[y>>2]|0;if((C|0)<=0)break;E=k[y+4>>2]|0;D=0;do{if(!(j[E+(D*20|0)+16>>1]|0)){wa=120;break d}D=D+1|0}while((D|0)<(C|0))}while(0);x=H+(P*72|0)+16|0;k[g>>2]=k[x>>2];Xq(a,21,0,0,0)|0;k[g>>2]=N;E=k[B>>2]|0;f:do if(!E)wa=81;else{y=p+65|0;B=k[ha>>2]|0;A=k[d>>2]|0;z=k[Q>>2]|0;C=k[na>>2]|0;while(1){k[ha>>2]=0;k[ja>>2]=0;k[na>>2]=0;k[d>>2]=0;k[Q>>2]=0;D=lr(p,b,0)|0;k[Q>>2]=z;k[d>>2]=A;k[ha>>2]=B;k[ja>>2]=H;i[R>>0]=116;if(!D)D=C;else{k[D+52>>2]=C;if(C)k[C+56>>2]=D;k[D+56>>2]=b}k[na>>2]=D;if(i[y>>0]|0)break f;E=k[E+52>>2]|0;if(!E){wa=81;break}else C=D}}while(0);if((wa|0)==81){wa=0;I=k[G>>2]|0;B=H+(P*72|0)+12|0;rg(p,k[B>>2]|0);rg(p,k[x>>2]|0);C=H+(P*72|0)+20|0;rg(p,k[C>>2]|0);k[B>>2]=0;k[x>>2]=0;k[C>>2]=0;k[G>>2]=0;C=H+(P*72|0)+24|0;B=k[C>>2]|0;if(B){A=B+40|0;z=j[A>>1]|0;if(z<<16>>16==1){N=k[e>>2]|0;N=((N|0)==0?a:N)+524|0;k[B+72>>2]=k[N>>2];k[N>>2]=B}else j[A>>1]=z+-1<<16>>16;k[C>>2]=0}N=P+1|0;M=p+65|0;K=b;J=I;while(1){y=k[J+32>>2]|0;x=k[y>>2]|0;D=K+32|0;E=k[D>>2]|0;if(!E){E=ur(p,0,0,0)|0;k[D>>2]=E;if(!E)break;else w=0}else w=i[O>>0]|0;if((x|0)>1){E=Ks(p,E,x+-1|0,N)|0;k[D>>2]=E;if(i[M>>0]|0)break}if((x|0)>0){C=0;do{A=C+P|0;Mk(p,k[E+(A*72|0)+56>>2]|0);D=y+(C*72|0)+8|0;A=E+(A*72|0)+8|0;B=D+0|0;z=A+72|0;do{k[A>>2]=k[B>>2];A=A+4|0;B=B+4|0}while((A|0)<(z|0));A=D+0|0;z=A+72|0;do{k[A>>2]=0;A=A+4|0}while((A|0)<(z|0));C=C+1|0}while((C|0)!=(x|0))}i[E+(P*72|0)+44>>0]=w;D=k[K>>2]|0;E=k[D>>2]|0;if((E|0)>0){A=D+4|0;C=k[A>>2]|0;B=0;do{if(!(k[C+(B*20|0)+4>>2]|0)){E=ph(p,k[C+(B*20|0)+8>>2]|0)|0;qo(E);C=k[A>>2]|0;k[C+(B*20|0)+4>>2]=E;E=k[D>>2]|0}B=B+1|0}while((B|0)<(E|0));D=k[K>>2]|0}Ls(p,D,o,k[J>>2]|0);if(F){Ls(p,k[K+40>>2]|0,o,k[J>>2]|0);H=K+44|0;G=Ms(p,k[H>>2]|0,o,k[J>>2]|0)|0;k[H>>2]=G}E=J+48|0;D=k[E>>2]|0;do if(!D){D=k[K+48>>2]|0;if(!D)break;Ls(p,D,o,k[J>>2]|0)}else{C=k[D>>2]|0;if((C|0)>0){B=k[D+4>>2]|0;A=0;do{j[B+(A*20|0)+16>>1]=0;A=A+1|0}while((A|0)!=(C|0))}k[K+48>>2]=D;k[E>>2]=0}while(0);D=k[J+36>>2]|0;if(!D)C=0;else C=Rr(p,D,0,0)|0;E=K+36|0;D=k[E>>2]|0;if(n){H=K+44|0;k[H>>2]=D;k[E>>2]=C;G=Ms(p,D,o,k[J>>2]|0)|0;k[H>>2]=G;G=xs(p,G,Rr(p,k[J+44>>2]|0,0,0)|0)|0;k[H>>2]=G;H=Ur(p,k[J+40>>2]|0,0)|0;k[K+40>>2]=H}else{H=Ms(p,D,o,k[J>>2]|0)|0;k[E>>2]=H;H=xs(p,H,C)|0;k[E>>2]=H}D=K+6|0;j[D>>1]=m[D>>1]|m[J+6>>1]&1;D=J+60|0;C=k[D>>2]|0;if(C){k[K+60>>2]=C;k[D>>2]=0}K=k[K+52>>2]|0;if(!K)break;else J=k[J+52>>2]|0}Rk(p,I,1)}if(!(q<<16>>16)){w=-1;break}j[qa>>1]=m[qa>>1]|4;w=-1;v=1}else wa=120;while(0);g:do if((wa|0)==120){wa=0;do if((k[u>>2]|0)==1){if(j[S>>1]&256)break;A=k[T>>2]|0;O=A+1|0;N=(k[U>>2]|0)+1|0;k[U>>2]=N;w=u+(P*72|0)+36|0;k[w>>2]=N;Bh(ta,20,N,0,O)|0;k[M>>2]=O;O=k[w>>2]|0;i[ca>>0]=13;k[V>>2]=O;i[W>>0]=0;k[X>>2]=0;k[Y>>2]=0;i[u+(P*72|0)+46>>0]=k[la>>2];nr(a,J,ca)|0;O=J+24|0;O=ks(k[O>>2]|0,k[O+4>>2]|0)|0;j[(k[u+(P*72|0)+24>>2]|0)+28>>1]=O;O=u+(P*72|0)+45|0;i[O>>0]=i[O>>0]|4;k[u+(P*72|0)+40>>2]=k[X>>2];Bh(ta,21,k[w>>2]|0,0,0)|0;w=k[T>>2]|0;if(w>>>0>A>>>0)k[(k[Z>>2]|0)+(A*20|0)+8>>2]=w;k[(k[_>>2]|0)+88>>2]=w+-1;i[$>>0]=0;k[aa>>2]=0;w=P;break g}while(0);z=(k[U>>2]|0)+1|0;k[U>>2]=z;B=u+(P*72|0)+36|0;k[B>>2]=z;z=Bh(ta,25,0,z,0)|0;k[M>>2]=z+1;if(!(i[u+(P*72|0)+45>>0]&2)){O=Tq(a)|0;A=k[ba>>2]|0;k[ba>>2]=A+1;A=Bh(O,44,A,0,0)|0}else A=0;O=k[u+(P*72|0)+48>>2]|0;i[ca>>0]=12;k[V>>2]=O;i[W>>0]=0;k[X>>2]=0;k[Y>>2]=0;i[u+(P*72|0)+46>>0]=k[la>>2];nr(a,J,ca)|0;O=J+24|0;O=ks(k[O>>2]|0,k[O+4>>2]|0)|0;j[(k[u+(P*72|0)+24>>2]|0)+28>>1]=O;if(A){x=k[T>>2]|0;if(x>>>0>A>>>0)k[(k[Z>>2]|0)+(A*20|0)+8>>2]=x;k[(k[_>>2]|0)+88>>2]=x+-1}w=Bh(ta,18,k[B>>2]|0,0,0)|0;if((k[T>>2]|0)>>>0>z>>>0)k[(k[Z>>2]|0)+(z*20|0)+4>>2]=w;i[$>>0]=0;k[aa>>2]=0;w=P}while(0);if(i[ma>>0]|0){wa=444;break b}k[oa>>2]=0;Js(b,oa);k[h>>2]=(k[h>>2]|0)-(k[oa>>2]|0);u=k[ja>>2]|0;if((l[c>>0]|0)<9)break;k[sa>>2]=k[ha>>2]}while(0);t=k[na>>2]|0;if(!t)P=w+1|0;else{D=f;N=t;w=v;R=u;break}}}else{D=b+36|0;N=t;R=u}while(0);Q=k[b>>2]|0;y=k[D>>2]|0;e=b+40|0;t=k[e>>2]|0;E=b+44|0;ca=k[E>>2]|0;f=j[qa>>1]|0;i[ra>>0]=f&1;if(N){K=k[a>>2]|0;k[pa+0>>2]=k[c+0>>2];k[pa+4>>2]=k[c+4>>2];k[pa+8>>2]=k[c+8>>2];k[pa+12>>2]=k[c+12>>2];k[pa+16>>2]=k[c+16>>2];h:do if(!(k[N+48>>2]|0)){u=N+60|0;if(k[u>>2]|0){d=l[b+4>>0]|0;if((d|0)==118)d=35336;else if((d|0)==117)d=35352;else if((d|0)==116)d=35320;else d=35360;k[oa>>2]=d;yh(a,35072,oa);f=0;d=1;wa=227;break}O=Tq(a)|0;o=i[pa>>0]|0;if(o<<24>>24==12){Bh(O,57,k[pa+4>>2]|0,k[k[b>>2]>>2]|0,0)|0;o=k[O+4>>2]|0;if(o)i[o+(((k[O+32>>2]|0)+-1|0)*20|0)+3>>0]=8;i[pa>>0]=14;o=14}n=m[qa>>1]|0;if(n&256){f=0;d=Ns(a,b,pa)|0;wa=227;break}if((k[k[b>>2]>>2]|0)!=(k[k[N>>2]>>2]|0)){Os(a,b);f=0;d=1;wa=227;break}do if(!(n&2048)){if(k[ha>>2]|0){d=Qs(a,b,c)|0;break h}M=b+4|0;n=l[M>>0]|0;if((n|0)==116){q=b+8|0;o=N+8|0;k[o>>2]=k[q>>2];p=b+12|0;n=N+12|0;k[n>>2]=k[p>>2];aa=b+60|0;k[u>>2]=k[aa>>2];ba=b+64|0;k[N+64>>2]=k[ba>>2];g=k[la>>2]|0;d=nr(a,N,pa)|0;k[aa>>2]=0;k[ba>>2]=0;if(d){f=0;wa=227;break h}k[na>>2]=0;o=k[o>>2]|0;k[q>>2]=o;k[p>>2]=k[n>>2];if(!o)t=0;else t=Bh(O,46,o,0,0)|0;e=k[la>>2]|0;d=nr(a,b,pa)|0;f=k[na>>2]|0;k[na>>2]=N;ba=N+24|0;h=b+24|0;o=h;ba=ow(k[o>>2]|0,k[o+4>>2]|0,k[ba>>2]|0,k[ba+4>>2]|0)|0;o=h;k[o>>2]=ba;k[o+4>>2]=L;o=k[u>>2]|0;do if(o){ba=(Rs(o,ga)|0)!=0;o=k[ga>>2]|0;if(!(ba&(o|0)>0))break;ba=h;aa=k[ba+4>>2]|0;n=((o|0)<0)<<31>>31;if(!(aa>>>0>n>>>0|((aa|0)==(n|0)?(k[ba>>2]|0)>>>0>o>>>0:0)))break;ba=h;k[ba>>2]=o;k[ba+4>>2]=n}while(0);if(!t){t=M;q=g;o=e;break}h=k[O+32>>2]|0;if(h>>>0>t>>>0)k[(k[O+4>>2]|0)+(t*20|0)+8>>2]=h;k[(k[O+24>>2]|0)+88>>2]=h+-1;t=M;q=g;o=e;break}else if((n|0)==115|(n|0)==117){if(o<<24>>24==1)n=k[pa+4>>2]|0;else{h=a+68|0;n=k[h>>2]|0;k[h>>2]=n+1;h=Bh(O,57,n,0,0)|0;k[b+16>>2]=h;h=b;while(1){o=k[h+56>>2]|0;if(!o)break;else h=o}ba=h+6|0;j[ba>>1]=m[ba>>1]|8}i[ea>>0]=1;k[ea+4>>2]=n;i[ea+1>>0]=0;k[ea+8>>2]=0;k[ea+12>>2]=0;v=k[la>>2]|0;d=nr(a,N,ea)|0;if(d){f=0;wa=227;break h}u=(i[M>>0]|0)==117?2:1;k[na>>2]=0;q=b+60|0;p=k[q>>2]|0;k[q>>2]=0;o=b+64|0;h=k[o>>2]|0;k[o>>2]=0;i[ea>>0]=u;u=k[la>>2]|0;d=nr(a,b,ea)|0;Sk(K,k[ha>>2]|0);f=k[na>>2]|0;k[na>>2]=N;k[ha>>2]=0;if((i[M>>0]|0)==115){aa=N+24|0;ba=b+24|0;$=ba;aa=ow(k[$>>2]|0,k[$+4>>2]|0,k[aa>>2]|0,k[aa+4>>2]|0)|0;k[ba>>2]=aa;k[ba+4>>2]=L}Lk(K,k[q>>2]|0);k[q>>2]=p;k[o>>2]=h;k[b+8>>2]=0;k[b+12>>2]=0;h=i[pa>>0]|0;if(h<<24>>24==9){h=b;while(1){g=k[h+52>>2]|0;if(!g)break;else h=g}Ss(a,0,k[h>>2]|0)}else if(h<<24>>24==1){t=M;q=v;o=u;break}e=Cs(O)|0;ba=Cs(O)|0;Ts(a,b,e);Bh(O,108,n,e,0)|0;t=O+32|0;q=k[t>>2]|0;Us(a,b,k[b>>2]|0,n,0,0,pa,ba,e);p=O+24|0;o=k[p>>2]|0;h=~ba;do if((ba|0)<0){g=k[o+112>>2]|0;if(!g)break;k[g+(h<<2)>>2]=k[t>>2]}while(0);k[o+88>>2]=(k[t>>2]|0)+-1;Bh(O,9,n,q,0)|0;h=k[p>>2]|0;g=~e;do if((e|0)<0){o=k[h+112>>2]|0;if(!o)break;k[o+(g<<2)>>2]=k[t>>2]}while(0);k[h+88>>2]=(k[t>>2]|0)+-1;Bh(O,61,n,0,0)|0;t=M;q=v;o=u;break}else{h=a+68|0;x=k[h>>2]|0;k[h>>2]=x+2;h=Bh(O,57,x,0,0)|0;k[b+16>>2]=h;h=b;while(1){g=k[h+56>>2]|0;if(!g)break;else h=g}v=x+1|0;q=h+6|0;j[q>>1]=m[q>>1]|8;i[fa>>0]=1;q=fa+4|0;k[q>>2]=x;i[fa+1>>0]=0;k[fa+8>>2]=0;k[fa+12>>2]=0;u=k[la>>2]|0;d=nr(a,N,fa)|0;if(d){f=0;wa=227;break h}t=Bh(O,57,v,0,0)|0;k[b+20>>2]=t;k[na>>2]=0;t=b+60|0;e=k[t>>2]|0;k[t>>2]=0;g=b+64|0;h=k[g>>2]|0;k[g>>2]=0;k[q>>2]=v;w=k[la>>2]|0;d=nr(a,b,fa)|0;f=k[na>>2]|0;k[na>>2]=N;o=b+24|0;ba=o;aa=k[ba+4>>2]|0;p=N+24|0;q=k[p>>2]|0;p=k[p+4>>2]|0;if(aa>>>0>p>>>0|((aa|0)==(p|0)?(k[ba>>2]|0)>>>0>q>>>0:0)){ba=o;k[ba>>2]=q;k[ba+4>>2]=p}Lk(K,k[t>>2]|0);k[t>>2]=e;k[g>>2]=h;if((i[pa>>0]|0)==9){o=b;while(1){n=k[o+52>>2]|0;if(!n)break;else o=n}Ss(a,0,k[o>>2]|0)}g=Cs(O)|0;t=Cs(O)|0;Ts(a,b,g);Bh(O,108,x,g,0)|0;o=a+19|0;n=i[o>>0]|0;if(!(n<<24>>24)){ba=a+72|0;o=(k[ba>>2]|0)+1|0;k[ba>>2]=o}else{ba=n+-1<<24>>24;i[o>>0]=ba;o=k[a+((ba&255)<<2)+24>>2]|0}e=Bh(O,101,x,o,0)|0;Ch(O,Bh(O,68,v,t,o)|0,0,-14);ds(a,o);Us(a,b,k[b>>2]|0,x,0,0,pa,t,g);o=O+24|0;n=k[o>>2]|0;p=~t;do if((t|0)<0){q=k[n+112>>2]|0;if(!q)break;k[q+(p<<2)>>2]=k[O+32>>2]}while(0);q=O+32|0;k[n+88>>2]=(k[q>>2]|0)+-1;Bh(O,9,x,e,0)|0;n=k[o>>2]|0;h=~g;do if((g|0)<0){o=k[n+112>>2]|0;if(!o)break;k[o+(h<<2)>>2]=k[q>>2]}while(0);k[n+88>>2]=(k[q>>2]|0)+-1;Bh(O,61,v,0,0)|0;Bh(O,61,x,0,0)|0;t=M;q=u;o=w;break}}else{Ps(a,b,pa);t=b+4|0;q=0;o=0;f=0;d=0}while(0);ba=i[t>>0]|0;Vs(a,ba&255,q,o,ba<<24>>24!=116&1);if(!(j[qa>>1]&8)){wa=227;break}p=k[k[b>>2]>>2]|0;q=Ws(K,p,1)|0;if(!q){d=7;wa=227;break}if((p|0)>0){e=K+8|0;g=q+20|0;h=0;while(1){ba=Xs(a,b,h)|0;k[g>>2]=ba;if(!ba)k[g>>2]=k[e>>2];h=h+1|0;if((h|0)==(p|0))break;else g=g+4|0}}n=O+32|0;o=O+4|0;do{e=0;do{h=b+(e<<2)+16|0;g=k[h>>2]|0;if((g|0)<0)break;if((k[n>>2]|0)>>>0>g>>>0)k[(k[o>>2]|0)+(g*20|0)+8>>2]=p;k[q>>2]=(k[q>>2]|0)+1;Ch(O,g,q,-6);k[h>>2]=-1;e=e+1|0}while((e|0)<2);b=k[b+52>>2]|0}while((b|0)!=0);ba=(k[q>>2]|0)+-1|0;k[q>>2]=ba;if(ba){wa=227;break}$c(q);wa=227}else{d=l[b+4>>0]|0;if((d|0)==118)d=35336;else if((d|0)==117)d=35352;else if((d|0)==116)d=35320;else d=35360;k[oa>>2]=d;yh(a,35024,oa);f=0;d=1;wa=227}while(0);if((wa|0)==227){k[c+8>>2]=k[pa+8>>2];k[c+12>>2]=k[pa+12>>2];Rk(K,f,1)}k[xa>>2]=ya;break a}if((f&5)==1){d=k[sa>>2]|0;if(!(Ys(d,Q,-1)|0)){j[qa>>1]=f&65534;t=Ur(ua,Q,0)|0;k[e>>2]=t;wa=232}}else wa=232;if((wa|0)==232)d=k[sa>>2]|0;if(!d)d=-1;else{ba=Zs(a,d,0,k[Q>>2]|0)|0;aa=a+68|0;d=k[aa>>2]|0;k[aa>>2]=d+1;k[sa+8>>2]=d;d=Bh(ta,57,d,(k[k[sa>>2]>>2]|0)+1+(k[Q>>2]|0)|0,0)|0;Ch(ta,d,ba,-6)}O=sa+20|0;k[O>>2]=d;if((i[c>>0]|0)==12)Bh(ta,57,k[c+4>>2]|0,k[Q>>2]|0,0)|0;na=Cs(ta)|0;v=b+24|0;ba=v;k[ba>>2]=-1;k[ba+4>>2]=2147483647;Ts(a,b,na);if((k[b+8>>2]|0)==0?(da=k[O>>2]|0,(da|0)>-1):0){if(!(i[(k[ta>>2]|0)+65>>0]|0))d=(k[ta+4>>2]|0)+(da*20|0)|0;else d=29120;i[d>>0]=58;ba=sa+24|0;i[ba>>0]=l[ba>>0]|1}if(!(j[qa>>1]&1))i[ra+1>>0]=0;else{ba=a+68|0;d=k[ba>>2]|0;k[ba>>2]=d+1;k[ra+4>>2]=d;ba=Zs(a,k[b>>2]|0,0,0)|0;d=Bh(ta,57,d,0,0)|0;Ch(ta,d,ba,-6);k[ra+8>>2]=d;d=k[ta+4>>2]|0;if(d)i[d+(((k[ta+32>>2]|0)+-1|0)*20|0)+3>>0]=8;i[ra+1>>0]=3}if((w|0)==0&(t|0)==0){q=_s(a,R,y,k[sa>>2]|0,k[b>>2]|0,(i[ra>>0]|0)!=0?1024:0,0)|0;if(!q){wa=444;break}o=$s(j[q+32>>1]|0)|0;n=L;ba=v;aa=k[ba+4>>2]|0;if(n>>>0<aa>>>0|((n|0)==(aa|0)?o>>>0<(k[ba>>2]|0)>>>0:0)){ba=v;k[ba>>2]=o;k[ba+4>>2]=n}do if(i[ra>>0]|0){o=i[q+40>>0]|0;if(!(o<<24>>24))break;i[ra+1>>0]=o}while(0);o=k[sa>>2]|0;do if(!o)wa=257;else{ba=i[q+36>>0]|0;k[sa+4>>2]=ba;if((ba|0)!=(k[o>>2]|0))break;k[sa>>2]=0;wa=257}while(0);do if((wa|0)==257){h=k[O>>2]|0;if((h|0)<=-1)break;Eh(ta,h)}while(0);Us(a,b,Q,-1,sa,ra,c,k[q+48>>2]|0,k[q+52>>2]|0);at(q)}else{w=(t|0)!=0;do if(w){e=k[b>>2]|0;d=k[e>>2]|0;if((d|0)>0){e=k[e+4>>2]|0;while(1){j[e+18>>1]=0;d=d+-1|0;if((d|0)<=0)break;else e=e+20|0}}d=k[t>>2]|0;if((d|0)>0){e=k[t+4>>2]|0;while(1){j[e+18>>1]=0;d=d+-1|0;if((d|0)<=0)break;else e=e+20|0}}ba=v;aa=k[ba+4>>2]|0;if(!(aa>>>0>0|(aa|0)==0&(k[ba>>2]|0)>>>0>100))break;ba=v;k[ba>>2]=100;k[ba+4>>2]=0}else{ba=v;k[ba>>2]=1;k[ba+4>>2]=0}while(0);M=(Ys(t,k[sa>>2]|0,-1)|0)==0;P=Cs(ta)|0;k[ia+0>>2]=0;k[ia+4>>2]=0;k[ia+8>>2]=0;k[ia+12>>2]=0;k[ia+16>>2]=0;k[ia+20>>2]=0;k[ia+24>>2]=0;k[ia+28>>2]=0;k[ia>>2]=a;k[ia+4>>2]=R;k[ia+12>>2]=va;G=a+72|0;k[va+16>>2]=(k[G>>2]|0)+1;if(w)d=k[t>>2]|0;else d=0;v=va+12|0;k[v>>2]=d;k[va+24>>2]=t;bt(ia,Q);bt(ia,k[sa>>2]|0);if(ca){k[oa+0>>2]=0;k[oa+4>>2]=0;k[oa+8>>2]=0;k[oa+12>>2]=0;k[oa+16>>2]=0;k[oa+20>>2]=0;k[oa>>2]=80;k[oa+4>>2]=81;k[oa+24>>2]=ia;ws(oa,ca)|0}x=va+32|0;k[va+36>>2]=k[x>>2];h=va+44|0;d=k[h>>2]|0;if((d|0)>0){u=ia+28|0;e=va+40|0;f=j[u>>1]|0;g=0;do{j[u>>1]=f&65535|8;bt(ia,k[(k[(k[e>>2]|0)+(g<<4)>>2]|0)+20>>2]|0);f=m[u>>1]&65527;j[u>>1]=f;g=g+1|0;d=k[h>>2]|0}while((g|0)<(d|0))}k[va+20>>2]=k[G>>2];if(i[ma>>0]|0){wa=444;break}if(w){E=a+68|0;D=k[E>>2]|0;k[E>>2]=D+1;q=va+4|0;k[q>>2]=D;D=Zs(a,t,0,k[x>>2]|0)|0;p=Bh(ta,58,k[q>>2]|0,k[v>>2]|0,0)|0;Ch(ta,p,D,-6);J=k[G>>2]|0;I=J+1|0;F=J+2|0;J=J+3|0;k[G>>2]=J;H=Cs(ta)|0;N=(k[G>>2]|0)+1|0;k[G>>2]=N;K=Cs(ta)|0;o=k[G>>2]|0;h=o+1|0;ba=k[t>>2]|0;aa=ba+o|0;n=aa+1|0;k[G>>2]=aa+ba;Bh(ta,25,0,F,0)|0;Bh(ta,25,0,I,0)|0;Bh(ta,28,0,h,(k[t>>2]|0)+o|0)|0;Bh(ta,17,N,K,0)|0;o=_s(a,R,y,t,0,M?2304:256,0)|0;if(!o){wa=444;break}if((i[o+36>>0]|0)==(k[t>>2]|0)){u=0;d=0;v=0}else{if(!(i[ra>>0]|0))d=34824;else d=(j[qa>>1]&1)==0?34808:34824;et(a,d);A=k[t>>2]|0;d=k[x>>2]|0;if((d|0)>0){e=k[va+28>>2]|0;f=0;v=A;u=A;do{if((k[e+(f*24|0)+12>>2]|0)>=(v|0)){v=v+1|0;u=u+1|0}f=f+1|0}while((f|0)<(d|0));C=u}else C=A;B=a+60|0;u=k[B>>2]|0;y=a+56|0;d=k[y>>2]|0;if((d|0)<(C|0)){z=k[G>>2]|0;k[G>>2]=z+C;z=z+1|0}else{k[B>>2]=u+C;k[y>>2]=d-C;z=u}ft(a);gt(a,t,z,0);v=k[x>>2]|0;if((v|0)>0){f=va+28|0;w=0;u=A;do{d=k[f>>2]|0;if((k[d+(w*24|0)+12>>2]|0)>=(u|0)){e=u+z|0;v=ht(a,k[d+(w*24|0)>>2]|0,k[d+(w*24|0)+8>>2]|0,k[d+(w*24|0)+4>>2]|0,e,0)|0;if((e|0)!=(v|0))Bh(ta,34,v,e,0)|0;v=k[x>>2]|0;u=u+1|0}w=w+1|0}while((w|0)<(v|0))}v=a+19|0;u=i[v>>0]|0;if(!(u<<24>>24)){u=(k[G>>2]|0)+1|0;k[G>>2]=u}else{u=u+-1<<24>>24;i[v>>0]=u;u=k[a+((u&255)<<2)+24>>2]|0}Bh(ta,49,z,C,u)|0;Bh(ta,109,k[q>>2]|0,u,0)|0;ds(a,u);it(a,z,C);if((k[y>>2]|0)<(C|0)){k[y>>2]=C;k[B>>2]=z}at(o);e=k[E>>2]|0;k[E>>2]=e+1;k[va+8>>2]=e;d=i[v>>0]|0;if(!(d<<24>>24)){d=(k[G>>2]|0)+1|0;k[G>>2]=d}else{d=d+-1<<24>>24;i[v>>0]=d;d=k[a+((d&255)<<2)+24>>2]|0}Bh(ta,60,e,d,C)|0;Bh(ta,106,k[q>>2]|0,P,0)|0;i[va+1>>0]=1;ft(a);u=1;v=e}do if(M){if(j[ua+60>>1]&4)break;if((u|0)==0?(i[o+37>>0]|0)==0:0)break;k[sa>>2]=0;Eh(ta,k[O>>2]|0)}while(0);x=ta+32|0;g=k[x>>2]|0;ft(a);u=(u|0)!=0;if(u)Bh(ta,100,k[q>>2]|0,d,v)|0;d=k[t>>2]|0;if((d|0)>0){e=t+4|0;f=0;do{if(u)Bh(ta,47,v,f,f+n|0)|0;else{i[va>>0]=1;Wq(a,k[(k[e>>2]|0)+(f*20|0)>>2]|0,f+n|0)}f=f+1|0;d=k[t>>2]|0}while((f|0)<(d|0))}if(D)k[D>>2]=(k[D>>2]|0)+1;Ch(ta,Bh(ta,42,h,n,d)|0,D,-6);d=k[x>>2]|0;ba=d+1|0;Bh(ta,43,ba,0,ba)|0;t=k[t>>2]|0;Bh(k[a+8>>2]|0,32,n,h,t)|0;it(a,n,t);Bh(ta,17,J,H,0)|0;Bh(ta,137,F,P,0)|0;Bh(ta,17,N,K,0)|0;t=k[x>>2]|0;if(t>>>0>d>>>0)k[(k[ta+4>>2]|0)+(d*20|0)+8>>2]=t;h=ta+24|0;k[(k[h>>2]|0)+88>>2]=t+-1;jt(a,va);Bh(ta,25,1,I,0)|0;if(u)Bh(ta,5,k[q>>2]|0,g,0)|0;else{at(o);Eh(ta,p)}Bh(ta,17,J,H,0)|0;Bh(ta,16,0,P,0)|0;f=k[x>>2]|0;Bh(ta,25,1,F,0)|0;Bh(ta,18,J,0,0)|0;d=k[h>>2]|0;e=~H;do if((H|0)<0){t=k[d+112>>2]|0;if(!t)break;k[t+(e<<2)>>2]=k[x>>2]}while(0);q=k[x>>2]|0;k[d+88>>2]=q+-1;Bh(ta,137,I,q+2|0,0)|0;Bh(ta,18,J,0,0)|0;kt(a,va);q=q+1|0;lt(a,ca,q,16);Us(a,b,k[b>>2]|0,-1,sa,ra,c,q,f);Bh(ta,18,J,0,0)|0;q=k[h>>2]|0;p=~K;do if((K|0)<0){o=k[q+112>>2]|0;if(!o)break;k[o+(p<<2)>>2]=k[x>>2]}while(0);k[q+88>>2]=(k[x>>2]|0)+-1;mt(a,va);Bh(ta,18,N,0,0)|0}else{do if(!(k[D>>2]|0)){p=k[b>>2]|0;if((k[p>>2]|0)!=1){wa=372;break}q=k[ja>>2]|0;if((k[q>>2]|0)!=1){wa=372;break}if(k[q+28>>2]|0){wa=372;break}x=k[q+24>>2]|0;q=k[k[p+4>>2]>>2]|0;w=x+44|0;if(i[w>>0]&16){wa=372;break}if((i[q>>0]|0)!=-101|(d|0)==0){wa=372;break}v=va+40|0;if(!(j[(k[(k[v>>2]|0)+4>>2]|0)+2>>1]&256)){wa=372;break}if((x|0)==0?1:(k[q+4>>2]&16|0)!=0){wa=372;break}q=k[a>>2]|0;d=k[x+68>>2]|0;i:do if(!d)p=-1e6;else{e=k[q+20>>2]|0;if((e|0)<=0){p=0;break}q=k[q+16>>2]|0;t=0;while(1){p=t+1|0;if((k[q+(t<<4)+12>>2]|0)==(d|0)){p=t;break i}if((p|0)<(e|0))t=p;else break}}while(0);t=a+68|0;g=k[t>>2]|0;k[t>>2]=g+1;t=x+32|0;d=k[t>>2]|0;Fr(a,p);ls(a,p,k[t>>2]|0,0,k[x>>2]|0);t=k[x+8>>2]|0;j:do if(!(i[w>>0]&32)){q=0;wa=351}else{if(!t){e=1;f=0;t=0;break}else q=t;while(1){if((i[q+51>>0]&3)==2){wa=351;break j}q=k[q+20>>2]|0;if(!q){q=0;wa=351;break}}}while(0);do if((wa|0)==351){if(t){f=x+42|0;e=t;do{do if(!(i[e+51>>0]&4)){t=j[e+44>>1]|0;if(t<<16>>16>=(j[f>>1]|0))break;if(k[e+36>>2]|0)break;if((q|0)!=0?t<<16>>16>=(j[q+44>>1]|0):0)break;q=e}while(0);e=k[e+20>>2]|0}while((e|0)!=0)}if(!q){e=1;f=0;t=0;break}d=k[q+40>>2]|0;e=0;f=q;t=ms(a,q)|0}while(0);Ch(ta,Bh(ta,54,g,d,p)|0,1,-14);if(t)Ch(ta,-1,t,-6);Bh(ta,50,g,k[(k[v>>2]|0)+8>>2]|0,0)|0;Bh(ta,61,g,0,0)|0;if((i[a+450>>0]|0)!=2){o=0;break}do if(e){q=k[x>>2]|0;p=10360;n=10360;o=k[a>>2]|0}else{if(i[w>>0]&32){ba=(i[f+51>>0]&3)!=2;o=k[a>>2]|0;q=k[x>>2]|0;p=ba?34920:10360;if(!ba){n=10360;break}}else{p=34920;q=k[x>>2]|0;o=k[a>>2]|0}n=k[f>>2]|0}while(0);k[oa>>2]=q;k[oa+4>>2]=p;k[oa+8>>2]=n;o=zh(o,34896,oa)|0;ba=k[a+8>>2]|0;Ch(ba,Bh(ba,157,k[xa>>2]|0,0,0)|0,o,-1);o=0}else wa=372;while(0);if((wa|0)==372){do if((k[E>>2]|0)==0&(d|0)==1){o=k[k[va+40>>2]>>2]|0;q=k[o+20>>2]|0;if(!q){o=0;n=0;break}if((k[q>>2]|0)!=1){o=0;n=0;break}if((i[k[k[q+4>>2]>>2]>>0]|0)!=-100){o=0;n=0;break}o=k[o+8>>2]|0;if(id(o,18760)|0)if(!(id(o,18768)|0))n=2;else{o=0;n=0;break}else n=1;o=Ur(ua,q,0)|0;if(!o){o=0;break}if(i[ma>>0]|0)break;ba=k[o+4>>2]|0;i[ba+12>>0]=n<<24>>24!=1&1;i[k[ba>>2]>>0]=-102}else{o=0;n=0}while(0);mt(a,va);n=_s(a,R,y,o,0,n&255,0)|0;if(!n){Sk(ua,o);wa=444;break}jt(a,va);if((i[n+36>>0]|0)>0)Bh(ta,16,0,k[n+52>>2]|0,0)|0;at(n);kt(a,va)}k[sa>>2]=0;lt(a,ca,P,16);Us(a,b,k[b>>2]|0,-1,0,0,c,P,P);Sk(ua,o);h=ta+24|0}o=k[h>>2]|0;n=~P;do if((P|0)<0){h=k[o+112>>2]|0;if(!h)break;k[h+(n<<2)>>2]=k[ta+32>>2]}while(0);k[o+88>>2]=(k[ta+32>>2]|0)+-1}if((i[ra+1>>0]|0)==3)et(a,34808);if(k[sa>>2]|0){u=sa+4|0;et(a,(k[u>>2]|0)>0?34840:34864);x=k[Q>>2]|0;q=a+8|0;D=k[q>>2]|0;E=Cs(D)|0;C=Cs(D)|0;g=k[sa>>2]|0;f=i[c>>0]|0;y=f&255;z=c+4|0;A=k[z>>2]|0;v=sa+16|0;t=k[v>>2]|0;if(t){Bh(D,17,k[sa+12>>2]|0,t,0)|0;Bh(D,16,0,E,0)|0;ba=k[v>>2]|0;t=k[D+24>>2]|0;d=~ba;do if((ba|0)<0){e=k[t+112>>2]|0;if(!e)break;k[e+(d<<2)>>2]=k[D+32>>2]}while(0);k[t+88>>2]=(k[D+32>>2]|0)+-1}B=k[sa+8>>2]|0;o=f<<24>>24==9;k:do if((f&-5)<<24>>24==9){n=x;p=k[c+8>>2]|0;d=0}else{t=a+19|0;d=i[t>>0]|0;do if(d<<24>>24){ba=d+-1<<24>>24;i[t>>0]=ba;e=k[a+((ba&255)<<2)+24>>2]|0;if(!(ba<<24>>24)){d=e;t=k[a+72>>2]|0;break}else{p=d+-2<<24>>24;i[t>>0]=p;n=1;p=k[a+((p&255)<<2)+24>>2]|0;d=e;break k}}else{d=a+72|0;t=(k[d>>2]|0)+1|0;k[d>>2]=t;d=t}while(0);p=t+1|0;k[a+72>>2]=p;n=1}while(0);h=(k[g>>2]|0)-(k[u>>2]|0)|0;w=sa+24|0;if(!(i[w>>0]&1)){t=Bh(D,107,B,E,0)|0;nt(D,k[b+12>>2]|0,C);e=1;f=B}else{ba=a+72|0;f=(k[ba>>2]|0)+1|0;k[ba>>2]=f;ba=a+68|0;g=k[ba>>2]|0;k[ba>>2]=g+1;if(!(k[v>>2]|0))e=0;else{ba=Tq(a)|0;aa=a+80|0;e=k[aa>>2]|0;k[aa>>2]=e+1;e=Bh(ba,44,e,0,0)|0}Bh(D,60,g,f,n+1+h|0)|0;if(e){t=k[D+32>>2]|0;if(t>>>0>e>>>0)k[(k[D+4>>2]|0)+(e*20|0)+8>>2]=t;k[(k[D+24>>2]|0)+88>>2]=t+-1}t=Bh(D,106,B,E,0)|0;nt(D,k[b+12>>2]|0,C);Bh(D,100,B,f,g)|0;e=0;f=g}u=t+1|0;if((n|0)>0){t=e+h|0;e=0;do{Bh(D,47,f,t+e|0,e+p|0)|0;e=e+1|0}while((e|0)!=(n|0))}do if((y|0)==12|(y|0)==14){Bh(D,74,A,d,0)|0;Bh(D,75,A,p,d)|0;o=k[D+4>>2]|0;if(!o)break;i[o+(((k[D+32>>2]|0)+-1|0)*20|0)+3>>0]=8}else if((y|0)==11){Ch(D,Bh(D,49,p,1,d)|0,c+1|0,1);it(a,p,1);Bh(D,110,A,d,0)|0}else if((y|0)!=10)if(o){ba=c+8|0;Bh(D,35,k[ba>>2]|0,x,0)|0;it(a,k[ba>>2]|0,x);break}else{Bh(D,22,k[z>>2]|0,0,0)|0;break}else{Bh(k[q>>2]|0,32,p,A,1)|0;it(a,p,1)}while(0);if(d){ds(a,p);ds(a,d)}n=D+24|0;p=k[n>>2]|0;q=~C;do if((C|0)<0){o=k[p+112>>2]|0;if(!o)break;k[o+(q<<2)>>2]=k[D+32>>2]}while(0);q=D+32|0;k[p+88>>2]=(k[q>>2]|0)+-1;if(!(i[w>>0]&1))Bh(D,9,B,u,0)|0;else Bh(D,5,B,u,0)|0;h=k[sa+12>>2]|0;if(h)Bh(D,18,h,0,0)|0;h=k[n>>2]|0;g=~E;do if((E|0)<0){f=k[h+112>>2]|0;if(!f)break;k[f+(g<<2)>>2]=k[q>>2]}while(0);k[h+88>>2]=(k[q>>2]|0)+-1}e=k[ta+24>>2]|0;f=~na;do if((na|0)<0){d=k[e+112>>2]|0;if(!d)break;k[d+(f<<2)>>2]=k[ta+32>>2]}while(0);k[e+88>>2]=(k[ta+32>>2]|0)+-1;k[xa>>2]=ya;if((i[c>>0]|0)!=9){d=0;break}Ss(a,R,Q);d=0}else wa=444;while(0);if((wa|0)==444){k[xa>>2]=ya;d=1}rg(ua,k[va+28>>2]|0);rg(ua,k[va+40>>2]|0)}else d=1;while(0);r=za;return d|0}function or(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+16|0;if((r|0)>=(s|0))ka();j=o;m=k[a>>2]|0;if((b|0)==0?(i=(g|0)!=0,i|(h|0)!=0):0){k[j>>2]=i?34792:34800;yh(a,34752,j);n=9}else{b=ur(m,b,c,d)|0;if((b|0)!=0?(l=k[b>>2]|0,(l|0)!=0):0){i=l+-1|0;if(k[e+4>>2]|0){e=$q(m,e)|0;k[b+(i*72|0)+20>>2]=e}k[b+(i*72|0)+28>>2]=f;k[b+(i*72|0)+52>>2]=g;k[b+(i*72|0)+56>>2]=h}else n=9}if((n|0)==9){Lk(m,g);Mk(m,h);Rk(m,f,1);b=0}r=o;return b|0}function pr(a,b,c,d,e,f,g,h,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,t=0,u=0,v=0;v=r;r=r+80|0;if((r|0)>=(s|0))ka();o=v+72|0;u=v;t=k[a>>2]|0;n=rh(t,72,0)|0;if(!n){p=u+0|0;q=p+72|0;do{k[p>>2]=0;p=p+4|0}while((p|0)<(q|0));n=u}else{p=n+0|0;q=p+72|0;do{i[p>>0]=0;p=p+1|0}while((p|0)<(q|0))}if(!b){k[o>>2]=0;k[o+4>>2]=0;b=qr(a,0,sr(t,116,o,0)|0)|0}k[n>>2]=b;if(!c){c=rh(t,80,0)|0;if(c){p=c+0|0;q=p+80|0;do{i[p>>0]=0;p=p+1|0}while((p|0)<(q|0))}}k[n+32>>2]=c;k[n+36>>2]=d;k[n+40>>2]=e;k[n+44>>2]=f;k[n+48>>2]=g;j[n+6>>1]=h;i[n+4>>0]=119;k[n+60>>2]=l;k[n+64>>2]=m;k[n+16>>2]=-1;k[n+20>>2]=-1;if(i[t+65>>0]|0){Rk(t,n,(n|0)!=(u|0)&1);n=0}r=v;return n|0}function qr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=k[a>>2]|0;if(!b){b=rh(e,8,0)|0;if(b){a=b;d=a;i[d>>0]=0;i[d+1>>0]=0;i[d+2>>0]=0;i[d+3>>0]=0;a=a+4|0;i[a>>0]=0;i[a+1>>0]=0;i[a+2>>0]=0;i[a+3>>0]=0;a=rh(e,20,0)|0;k[b+4>>2]=a;if(!a)d=8;else d=7}else{b=0;d=8}}else{a=k[b>>2]|0;if(!(a+-1&a)){d=b+4|0;a=wo(e,k[d>>2]|0,a*40|0,0)|0;if(!a)d=8;else{k[d>>2]=a;d=7}}else d=7}if((d|0)==7){a=k[b>>2]|0;k[b>>2]=a+1;a=(k[b+4>>2]|0)+(a*20|0)|0;k[a+0>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;k[a>>2]=c}else if((d|0)==8){Lk(e,c);Sk(e,b);b=0}return b|0}function rr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;do if(b){h=(k[b>>2]|0)+-1|0;e=k[b+4>>2]|0;f=k[c>>2]|0;b=k[c+4>>2]|0;if((f|0)!=0?(c=k[a>>2]|0,g=ow(b|0,0,1,0)|0,g=rh(c,g,L)|0,(g|0)!=0):0){pw(g|0,f|0,b|0)|0;i[g+b>>0]=0;k[e+(h*20|0)+4>>2]=g;if(!d)break;qo(g);break}k[e+(h*20|0)+4>>2]=0}while(0);return}function sr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0;o=r;r=r+16|0;if((r|0)>=(s|0))ka();h=o;k[h>>2]=0;f=(c|0)!=0;do if(f){if(((b|0)==132?(e=k[c>>2]|0,(e|0)!=0):0)?(In(e,h)|0)!=0:0){m=0;break}m=(k[c+4>>2]|0)+1|0}else m=0;while(0);g=m+48|0;l=rh(a,g,0)|0;if(l){kw(l|0,0,g|0)|0;i[l>>0]=b;j[l+34>>1]=-1;do if(f){if(!m){d=l+4|0;k[d>>2]=k[d>>2]|1024;k[l+8>>2]=k[h>>2];break}e=l+48|0;g=l+8|0;k[g>>2]=e;f=c+4|0;a=k[f>>2]|0;if(!a)e=48;else{pw(e|0,k[c>>2]|0,a|0)|0;e=(k[f>>2]|0)+48|0}i[l+e>>0]=0;if(((d|0)!=0&(m|0)>2?(d=i[k[c>>2]>>0]|0,n=d<<24>>24==34,d<<24>>24==34|d<<24>>24==39|d<<24>>24==91|d<<24>>24==96):0)?(qo(k[g>>2]|0),n):0){d=l+4|0;k[d>>2]=k[d>>2]|64}}while(0);k[l+24>>2]=1}r=o;return l|0}function tr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;do if((b|0)!=0?(d=k[b>>2]|0,(d|0)>0):0){d=d+-1|0;if((k[c+4>>2]|0)==1?(k[c>>2]|0)==0:0){d=b+(d*72|0)+45|0;i[d>>0]=i[d>>0]|1;break}c=$q(k[a>>2]|0,c)|0;k[b+(d*72|0)+72>>2]=c}while(0);return}function ur(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;if(!b){b=rh(a,80,0)|0;if(!b)b=0;else{f=b+0|0;e=f+80|0;do{i[f>>0]=0;f=f+1|0}while((f|0)<(e|0));k[b+4>>2]=1;f=4}}else f=4;do if((f|0)==4){b=Ks(a,b,1,k[b>>2]|0)|0;if(i[a+65>>0]|0){Io(a,b);b=0;break}f=(k[b>>2]|0)+-1|0;if(!d)e=0;else e=(k[d>>2]|0)==0?0:d;d=(e|0)==0;e=$q(a,d?c:e)|0;k[b+(f*72|0)+16>>2]=e;e=$q(a,d?0:c)|0;k[b+(f*72|0)+12>>2]=e}while(0);return b|0}function vr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0;o=r;r=r+32|0;if((r|0)>=(s|0))ka();m=o;i=o+16|0;k[i>>2]=b;k[i+4>>2]=c;k[i+8>>2]=d;h=b;j=1;e=0;a:while(1){if(!h)break;g=k[h+4>>2]|0;f=0;while(1){if((g|0)==(l[34625+(f*3|0)>>0]|0|0)?(Kc(k[h>>2]|0,34584+(l[34624+(f*3|0)>>0]|0)|0,g)|0)==0:0)break;f=f+1|0;if((f|0)>=7){n=10;break a}}e=l[34626+(f*3|0)>>0]|0|e;if((f|0)>6){n=10;break}if((j|0)>=3)break;h=k[i+(j<<2)>>2]|0;j=j+1|0}if((n|0)==10)e=e|64;if((e&33|0)!=33&(e&64|0)==0){if(!((e&32|0)==0|(e&24|0)==8)){yh(a,34696,m);e=1}}else{k[m>>2]=b;k[m+4>>2]=c;k[m+8>>2]=(d|0)==0?20377|0:20376;k[m+12>>2]=d;yh(a,34648,m);e=1}r=o;return e|0}function wr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=r;r=r+48|0;if((r|0)>=(s|0))ka();N=Q+36|0;O=Q+32|0;m=Q;k[N>>2]=0;k[O>>2]=0;P=k[a>>2]|0;if(((((k[a+64>>2]|0)==0?(i[P+65>>0]|0)==0:0)?(E=Or(a,b)|0,(E|0)!=0):0)?(D=ot(a,E,109,0,0)|0,M=(k[E+12>>2]|0)!=0,(mr(a,E)|0)==0):0)?(o=(D|0)!=0,(pt(a,E,o&1)|0)==0):0){f=k[E+68>>2]|0;a:do if(f){e=k[P+20>>2]|0;if((e|0)>0){d=k[P+16>>2]|0;h=0;while(1){g=h+1|0;if((k[d+(h<<4)+12>>2]|0)==(f|0)){g=h;break a}if((g|0)<(e|0))h=g;else break}}else g=0}else g=-1e6;while(0);d=Xq(a,9,k[E>>2]|0,0,k[(k[P+16>>2]|0)+(g<<4)>>2]|0)|0;if((d|0)!=1){n=a+68|0;z=k[n>>2]|0;p=z+1|0;k[n>>2]=p;k[b+48>>2]=z;F=E+8|0;f=k[F>>2]|0;if(!f)h=0;else{e=p;h=0;do{e=e+1|0;k[n>>2]=e;h=h+1|0;f=k[f+20>>2]|0}while((f|0)!=0)}if(M){K=a+492|0;L=k[K>>2]|0;k[K>>2]=k[E>>2];K=a}else{K=0;L=0}I=Tq(a)|0;b:do if(I){J=a+18|0;if(!(i[J>>0]|0)){B=I+88|0;j[B>>1]=j[B>>1]|4}A=a+408|0;B=k[A>>2]|0;B=(B|0)==0?a:B;Fr(a,g);y=B+328|0;k[y>>2]=k[y>>2]|1<<g;B=B+20|0;i[B>>0]=l[B>>0]|1;if(M){qt(a,E,c,z);k[O>>2]=z;k[N>>2]=z};k[m+0>>2]=0;k[m+4>>2]=0;k[m+8>>2]=0;k[m+12>>2]=0;k[m+16>>2]=0;k[m+20>>2]=0;k[m+24>>2]=0;k[m+28>>2]=0;k[m>>2]=a;k[m+4>>2]=b;if(!(qs(m,c)|0)){G=P+24|0;if(!(k[G>>2]&128))H=-1;else{B=a+72|0;H=(k[B>>2]|0)+1|0;k[B>>2]=H;Bh(I,25,0,H,0)|0}B=E+44|0;do if((!((c|0)!=0|(d|0)!=0|o)?(i[B>>0]&16)==0:0)?(rt(a,E,0,0)|0)==0:0){f=E+32|0;ls(a,g,k[f>>2]|0,1,k[E>>2]|0);if(!(i[B>>0]&32)){E=k[E>>2]|0;Ch(I,Bh(I,118,k[f>>2]|0,g,H)|0,E,-2)}d=k[F>>2]|0;if(!d){d=0;break}do{Bh(I,118,k[d+40>>2]|0,g,0)|0;d=k[d+20>>2]|0}while((d|0)!=0);d=0}else C=31;while(0);do if((C|0)==31){if(!(i[B>>0]&32)){q=a+72|0;w=(k[q>>2]|0)+1|0;k[q>>2]=w;Bh(I,28,0,w,0)|0;q=0;x=0;d=0;u=1;g=0}else{g=k[F>>2]|0;c:do if(!g)g=0;else while(1){if((i[g+51>>0]&3)==2)break c;g=k[g+20>>2]|0;if(!g){g=0;break}}while(0);u=j[g+46>>1]|0;x=a+72|0;d=k[x>>2]|0;q=u<<16>>16;k[x>>2]=d+q;x=k[n>>2]|0;k[n>>2]=x+1;q=Bh(I,57,x,q,0)|0;w=k[a+8>>2]|0;Ch(w,-1,ms(a,g)|0,-6);d=d+1|0;w=0}t=_s(a,b,c,0,0,12,p)|0;if(!t){d=0;break b}p=t+60|0;o=k[p>>2]|0;p=k[p+4>>2]|0;v=i[t+38>>0]|0;if(k[G>>2]&128)Bh(I,37,H,1,0)|0;y=(g|0)!=0;do if(y){if(u<<16>>16<=0){e=d;break}m=g+4|0;f=u<<16>>16;n=0;do{st(I,E,z,j[(k[m>>2]|0)+(n<<1)>>1]|0,n+d|0);n=n+1|0}while((n|0)!=(f|0));e=d}else{f=a+72|0;e=ht(a,E,-1,z,(k[f>>2]|0)+1|0,0)|0;if((e|0)<=(k[f>>2]|0))break;k[f>>2]=e}while(0);m=v<<24>>24!=0;do if(!m)if(y){f=a+72|0;e=(k[f>>2]|0)+1|0;k[f>>2]=e;f=u<<16>>16;n=tt(I,g)|0;Ch(I,Bh(I,49,d,f,e)|0,n,f);Bh(I,110,x,e,0)|0;d=0;f=0;n=0;C=59;break}else{Bh(I,128,w,e,0)|0;at(t);d=0;p=0;g=1;break}else{d=h+2|0;d=rh(P,d,((d|0)<0)<<31>>31)|0;if(!d){at(t);d=0;break b}C=h+1|0;kw(d|0,1,C|0)|0;i[d+C>>0]=0;if((o|0)>-1)i[d+(o-z)>>0]=0;if((p|0)>-1)i[d+(p-z)>>0]=0;if(q)Eh(I,q);f=Bh(I,16,0,0,0)|0;n=u;C=59}while(0);do if((C|0)==59){at(t);if(!m){p=0;g=n;break}g=Cs(I)|0;Bh(I,16,0,g,0)|0;h=k[I+32>>2]|0;if(h>>>0>f>>>0)k[(k[I+4>>2]|0)+(f*20|0)+8>>2]=h;k[(k[I+24>>2]|0)+88>>2]=h+-1;p=g;g=n}while(0);if(!M)ut(a,E,55,z,d,N,O)|0;do if(!m)if(y){f=Bh(I,108,x,0,0)|0;Bh(I,101,x,e,0)|0;break}else{f=Bh(I,129,w,0,e)|0;break}else{h=k[N>>2]|0;if(!(i[d+(h-z)>>0]|0)){f=0;break}Ch(I,Bh(I,68,h,p,e)|0,g<<16>>16,-14);f=0}while(0);if(!(i[B>>0]&16))wt(a,E,D,k[N>>2]|0,k[O>>2]|0,e,g,(i[J>>0]|0)==0&1,10,v);else{h=k[E+60>>2]|0;d:do if(!h)h=0;else while(1){if((k[h>>2]|0)==(P|0))break d;h=k[h+24>>2]|0;if(!h){h=0;break}}while(0);vt(a,E);Ch(I,Bh(I,15,0,1,e)|0,h,-10);h=k[I+4>>2]|0;if(h)i[h+(((k[I+32>>2]|0)+-1|0)*20|0)+3>>0]=2;E=k[A>>2]|0;i[((E|0)==0?a:E)+21>>0]=1}do if(!m)if(y){Bh(I,9,x,f+1|0,0)|0;h=k[I+32>>2]|0;if(h>>>0>f>>>0)k[(k[I+4>>2]|0)+(f*20|0)+8>>2]=h;k[(k[I+24>>2]|0)+88>>2]=h+-1;break}else{Bh(I,16,0,f,0)|0;h=k[I+32>>2]|0;if(h>>>0>f>>>0)k[(k[I+4>>2]|0)+(f*20|0)+8>>2]=h;k[(k[I+24>>2]|0)+88>>2]=h+-1;break}else{g=k[I+24>>2]|0;f=~p;do if((p|0)<0){h=k[g+112>>2]|0;if(!h)break;k[h+(f<<2)>>2]=k[I+32>>2]}while(0);k[g+88>>2]=(k[I+32>>2]|0)+-1}while(0);if(M)break;if(i[B>>0]&16)break;if(!y)Bh(I,61,k[N>>2]|0,0,0)|0;e=k[F>>2]|0;if(!e)break;else f=0;while(1){Bh(I,61,(k[O>>2]|0)+f|0,0,0)|0;e=k[e+20>>2]|0;if(!e)break;else f=f+1|0}}while(0);if((i[J>>0]|0)==0?(k[a+412>>2]|0)==0:0)xt(a);if((k[G>>2]&128|0)!=0?(i[J>>0]|0)==0:0){if(k[a+412>>2]|0)break;Bh(I,35,H,1,0)|0;nq(I,1);if(i[(k[I>>2]|0)+65>>0]|0)break;ah(k[I+16>>2]|0,34568,-1,1,0)|0}}else d=0}else d=0;while(0);if(K)k[K+492>>2]=L}else d=0}else d=0;Io(P,b);Lk(P,c);rg(P,d);r=Q;return}function xr(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;ia=r;r=r+64|0;if((r|0)>=(s|0))ka();Q=ia;V=ia+32|0;ba=ia+24|0;da=ia+20|0;ha=k[a>>2]|0;a:do if(((k[a+64>>2]|0)==0?(i[ha+65>>0]|0)==0:0)?(ga=Or(a,b)|0,(ga|0)!=0):0){g=k[a>>2]|0;m=k[ga+68>>2]|0;b:do if(m){n=k[g+20>>2]|0;if((n|0)>0){g=k[g+16>>2]|0;h=0;while(1){f=h+1|0;if((k[g+(h<<4)+12>>2]|0)==(m|0))break b;if((f|0)<(n|0))h=f;else{h=f;break}}}else h=0}else h=-1e6;while(0);ca=ot(a,ga,110,c,ba)|0;$=(k[ga+12>>2]|0)!=0;if((mr(a,ga)|0)==0?(pt(a,ga,k[ba>>2]|0)|0)==0:0){X=a+68|0;Y=k[X>>2]|0;ea=Y+1|0;k[X>>2]=ea;m=b+48|0;k[m>>2]=Y;H=ga+44|0;p=k[ga+8>>2]|0;c:do if(!(i[H>>0]&32)){n=0;_=16}else{if(!p){t=ga+8|0;n=0;o=Y;q=0;break}else n=p;while(1){if((i[n+51>>0]&3)==2){_=16;break c}n=k[n+20>>2]|0;if(!n){n=0;_=16;break}}}while(0);if((_|0)==16){t=ga+8|0;if(!p){o=Y;q=0}else{f=(n|0)!=0;g=ea;o=Y;q=0;do{if((i[p+51>>0]&3)==2&f){k[m>>2]=g;o=g}g=g+1|0;k[X>>2]=g;q=q+1|0;p=k[p+20>>2]|0}while((p|0)!=0)}}fa=ga+38|0;f=rh(ha,q+2+((j[fa>>1]|0)+q<<2)|0,0)|0;if(f){F=j[fa>>1]|0;Z=f+(F<<2)|0;aa=f+(F+q<<2)|0;W=q+1|0;kw(aa|0,1,W|0)|0;i[aa+W>>0]=0;q=j[fa>>1]|0;if(q<<16>>16>0)kw(f|0,-1,(q<<16>>16>1?q<<16>>16<<2:4)|0)|0;k[V+0>>2]=0;k[V+4>>2]=0;k[V+8>>2]=0;k[V+12>>2]=0;k[V+16>>2]=0;k[V+20>>2]=0;k[V+24>>2]=0;k[V+28>>2]=0;k[V>>2]=a;k[V+4>>2]=b;d:do if((k[c>>2]|0)>0){B=c+4|0;A=ga+4|0;z=ha+16|0;C=(n|0)==0;D=ga+36|0;v=0;u=0;E=0;g=0;while(1){if(qs(V,k[(k[B>>2]|0)+(E*20|0)>>2]|0)|0)break a;x=j[fa>>1]|0;e:do if(x<<16>>16>0){q=k[A>>2]|0;y=k[B>>2]|0;m=k[y+(E*20|0)+4>>2]|0;p=0;while(1){w=p+1|0;if(!(id(k[q+(p*24|0)>>2]|0,m)|0))break;if((w|0)<(x<<16>>16|0))p=w;else{p=w;m=g;break e}}if((p|0)!=(j[D>>1]|0)){if(!C)v=(i[q+(p*24|0)+23>>0]&1)==0?v:1}else{u=1;g=k[y+(E*20|0)>>2]|0}k[f+(p<<2)>>2]=E;m=g}else{p=0;m=g}while(0);if((p|0)<(x<<16>>16|0)){g=k[ga>>2]|0;if((p|0)<0)q=12944;else q=k[(k[A>>2]|0)+(p*24|0)>>2]|0}else{m=k[B>>2]|0;g=k[m+(E*20|0)+4>>2]|0;if(!C)break;if(!(ei(g)|0))break;g=k[ga>>2]|0;q=12944;u=1;p=-1;m=k[m+(E*20|0)>>2]|0}g=Xq(a,23,g,q,k[(k[z>>2]|0)+(h<<4)>>2]|0)|0;if((g|0)==1)break a;else if((g|0)==2)k[f+(p<<2)>>2]=-1;E=E+1|0;if((E|0)>=(k[c>>2]|0)){O=m;break d}else g=m}k[Q>>2]=g;yh(a,34496,Q);i[a+17>>0]=1;break a}else{v=0;u=0;O=0}while(0);U=(v&255)+(u&255)|0;R=U&255;z=b+64|0;k[z>>2]=0;k[z+4>>2]=0;U=U&255;z=rt(a,ga,f,U)|0;g=k[t>>2]|0;if(g){w=(z|U|0)==0;x=a+72|0;y=0;while(1){f:do if(w?!((k[g+36>>2]|0)!=0|(g|0)==(n|0)):0){m=j[g+46>>1]|0;if(!(m<<16>>16))_=56;else{p=k[g+4>>2]|0;q=0;while(1){if((k[f+(j[p+(q<<1)>>1]<<2)>>2]|0)>-1){_=54;break f}q=q+1|0;if((q|0)>=(m&65535|0)){_=56;break}}}}else _=54;while(0);if((_|0)==54){_=0;m=(k[x>>2]|0)+1|0;k[x>>2]=m;if(!m)_=56;else p=y+1|0}if((_|0)==56){_=0;p=y+1|0;i[aa+p>>0]=0;m=0}k[f+(y+F<<2)>>2]=m;g=k[g+20>>2]|0;if(!g)break;else y=p}}S=Tq(a)|0;if(S){T=a+18|0;if(!(i[T>>0]|0)){P=S+88|0;j[P>>1]=j[P>>1]|4}E=a+408|0;P=k[E>>2]|0;P=(P|0)==0?a:P;Fr(a,h);N=P+328|0;k[N>>2]=k[N>>2]|1<<h;P=P+20|0;i[P>>0]=l[P>>0]|1;if(i[H>>0]&16){u=k[a+8>>2]|0;v=k[a>>2]|0;g=k[ga+60>>2]|0;g:do if(!g)g=0;else while(1){if((k[g>>2]|0)==(v|0))break g;g=k[g+24>>2]|0;if(!g){g=0;break}}while(0);h=qr(a,0,yt(v,27,34536)|0)|0;t=(O|0)!=0;if(t)h=qr(a,h,Rr(v,O,0,0)|0)|0;if((j[fa>>1]|0)>0){m=c+4|0;o=ga+4|0;p=0;do{n=k[f+(p<<2)>>2]|0;if((n|0)>-1)n=Rr(v,k[(k[m>>2]|0)+(n*20|0)>>2]|0,0,0)|0;else n=yt(v,27,k[(k[o>>2]|0)+(p*24|0)>>2]|0)|0;h=qr(a,h,n)|0;p=p+1|0}while((p|0)<(j[fa>>1]|0))}o=pr(a,h,b,d,0,0,0,0,0,0)|0;q=k[X>>2]|0;k[X>>2]=q+1;b=t&1;Bh(u,57,q,(j[fa>>1]|0)+(t?2:1)|0,0)|0;p=u+4|0;d=k[p>>2]|0;if(d)i[d+(((k[u+32>>2]|0)+-1|0)*20|0)+3>>0]=8;i[Q>>0]=14;k[Q+4>>2]=q;i[Q+1>>0]=0;k[Q+8>>2]=0;k[Q+12>>2]=0;nr(a,o,Q)|0;d=a+72|0;n=k[d>>2]|0;h=n+1|0;aa=n+2|0;k[d>>2]=(j[fa>>1]|0)+aa;d=Bh(u,108,q,0,0)|0;Bh(u,47,q,0,h)|0;Bh(u,47,q,b,aa)|0;if((j[fa>>1]|0)>0){n=n+3|0;m=0;do{aa=m;m=m+1|0;Bh(u,47,q,m+b|0,n+aa|0)|0}while((m|0)<(j[fa>>1]|0))}vt(a,ga);Ch(u,Bh(u,15,0,(j[fa>>1]|0)+2|0,h)|0,g,-10);g=k[p>>2]|0;if(!g)g=u+32|0;else{aa=u+32|0;i[g+(((k[aa>>2]|0)+-1|0)*20|0)+3>>0]=(e|0)==10?2:e&255;g=aa}aa=k[E>>2]|0;i[((aa|0)==0?a:aa)+21>>0]=1;Bh(u,9,q,d+1|0,0)|0;g=k[g>>2]|0;if(g>>>0>d>>>0)k[(k[p>>2]|0)+(d*20|0)+8>>2]=g;k[(k[u+24>>2]|0)+88>>2]=g+-1;Bh(u,61,q,0,0)|0;Rk(v,o,1);d=0;b=0;break}E=a+72|0;g=k[E>>2]|0;D=g+1|0;N=g+2|0;k[E>>2]=N;F=v<<24>>24!=0;G=(ca|0)!=0;M=(z|0)!=0;if(F|G|M){h=(j[fa>>1]|0)+N|0;k[E>>2]=h;I=g+3|0}else{h=N;I=0}K=(U|0)!=0;if(K|G|M){L=h+1|0;k[E>>2]=L;h=L}else L=N;J=h+1|0;k[E>>2]=(j[fa>>1]|0)+h;if($){P=a+492|0;Q=k[P>>2]|0;k[P>>2]=k[ga>>2];qt(a,ga,d,o);P=a}else{P=0;Q=0}do if(!(qs(V,d)|0)){if(!(i[H>>0]&32)){Bh(S,28,0,D,N)|0;v=_s(a,b,d,0,0,4,ea)|0;if(!v)break;x=v+60|0;g=k[x>>2]|0;x=k[x+4>>2]|0;y=i[v+38>>0]|0;Bh(S,103,o,N,0)|0;if(!(y<<24>>24))Bh(S,128,D,N,0)|0;at(v);A=0;z=0;w=y&255;B=0}else{y=j[n+46>>1]|0;p=k[E>>2]|0;v=p+1|0;z=y<<16>>16;p=z+1+p|0;k[E>>2]=p;A=k[X>>2]|0;k[X>>2]=A+1;Bh(S,28,0,v,0)|0;h=Bh(S,57,A,z,0)|0;q=k[a+8>>2]|0;Ch(q,-1,ms(a,n)|0,-6);q=_s(a,b,d,0,0,4,ea)|0;if(!q)break;x=q+60|0;g=k[x>>2]|0;x=k[x+4>>2]|0;m=i[q+38>>0]|0;B=m&255;if(y<<16>>16>0){y=n+4|0;w=0;do{st(S,ga,o,j[(k[y>>2]|0)+(w<<1)>>1]|0,w+v|0);w=w+1|0}while((w|0)!=(z|0))}if(!(m<<24>>24)){y=tt(S,n)|0;Ch(S,Bh(S,49,v,z,p)|0,y,z);Bh(S,110,A,p,0)|0;y=0;v=p}else{Eh(S,h);y=z}at(q);z=y;w=B;B=v}H=ha+24|0;do if(!(k[H>>2]&128))q=0;else{if(k[a+412>>2]|0){q=0;break}q=(k[E>>2]|0)+1|0;k[E>>2]=q;Bh(S,25,0,q,0)|0}while(0);p=Cs(S)|0;if(!$){h:do if((e|0)==5)kw(aa|0,1,W|0)|0;else{y=k[t>>2]|0;if(!y)break;while(1){if((i[y+50>>0]|0)==5)break;y=k[y+20>>2]|0;if(!y)break h}kw(aa|0,1,W|0)|0}while(0);do if(w){if((g|0)>-1)i[aa+(g-Y)>>0]=0;if((x|0)<=-1)break;i[aa+(x-Y)>>0]=0}while(0);ut(a,ga,55,Y,aa,0,0)|0}E=(w|0)!=0;do if(!E)if(!n){D=Bh(S,129,D,p,N)|0;Bh(S,70,o,D,N)|0;C=0;break}else{D=Cs(S)|0;Bh(S,108,A,p,0)|0;C=Bh(S,101,A,B,0)|0;Ch(S,Bh(S,68,o,D,B)|0,0,-14);break}else{if(!((i[aa+(o-Y)>>0]|0)==0|$))Ch(S,Bh(S,68,o,p,B)|0,z,-14);Bh(S,76,(n|0)!=0?B:N,p,0)|0;C=0;D=p}while(0);u=u<<24>>24==0;if(!u){Wq(a,O,L);Bh(S,38,L,0,0)|0}do if(F|M|G){if(M)v=zt(a,ga)|0;else v=0;y=At(a,ca,c,0,3,ga,e)|0|v;if((j[fa>>1]|0)>0){x=(y|0)==-1;w=ga+4|0;v=0;do{do if(x)_=138;else{if((v|0)<32?(1<<v&y|0)!=0:0){_=138;break}if(i[(k[w>>2]|0)+(v*24|0)+23>>0]&1){_=138;break}Bh(S,28,0,v+I|0,0)|0}while(0);if((_|0)==138){_=0;st(S,ga,o,v,v+I|0)}v=v+1|0}while((v|0)<(j[fa>>1]|0))}if(!(u&(n|0)==0))break;Bh(S,33,N,L,0)|0}while(0);v=At(a,ca,c,1,1,ga,e)|0;if((j[fa>>1]|0)>0){u=ga+36|0;g=c+4|0;m=0;do{i:do if((m|0)==(j[u>>1]|0))Bh(S,28,0,m+J|0,0)|0;else{h=k[f+(m<<2)>>2]|0;if((h|0)>-1){Wq(a,k[(k[g>>2]|0)+(h*20|0)>>2]|0,m+J|0);break}do if(!((k[ba>>2]&1|0)==0|(m|0)>31)){if(1<<m&v)break;Bh(S,28,0,m+J|0,0)|0;break i}while(0);st(S,ga,o,m,m+J|0)}while(0);m=m+1|0}while((m|0)<(j[fa>>1]|0))}do if(k[ba>>2]&1){Bt(S,ga,J);Ct(a,ca,110,c,1,ga,N,e,D);if(!n)Bh(S,70,o,D,N)|0;else Ch(S,Bh(S,68,o,D,B)|0,z,-14);g=j[fa>>1]|0;if(g<<16>>16<=0)break;u=ga+36|0;v=0;do{do if((k[f+(v<<2)>>2]|0)<0){if((v|0)==(j[u>>1]|0))break;st(S,ga,o,v,v+J|0);g=j[fa>>1]|0}while(0);v=v+1|0}while((v|0)<(g<<16>>16|0))}while(0);do if(!$){k[da>>2]=0;Dt(a,ga,Z,o,ea,L,N,R,e&255,D,da);if(M)Et(a,ga,N,0,f,U);g=(k[da>>2]|U|0)==0;do if(!g)if(!n){h=Bh(S,70,o,0,N)|0;break}else{h=Bh(S,68,o,0,B)|0;Ch(S,h,z,-14);break}else h=0;while(0);Ft(a,ga,o,ea,Z);if(M|(K|(n|0)!=0))Bh(S,95,o,0,0)|0;if(!g){g=k[S+32>>2]|0;if(g>>>0>h>>>0)k[(k[S+4>>2]|0)+(h*20|0)+8>>2]=g;k[(k[S+24>>2]|0)+88>>2]=g+-1}if(M){Et(a,ga,0,L,f,U);Gt(a,ga,o,ea,L,Z,1,0,0);Ht(a,ga,c,N,f,U);break}else{Gt(a,ga,o,ea,L,Z,1,0,0);break}}while(0);do if(k[H>>2]&128){if(k[a+412>>2]|0)break;Bh(S,37,q,1,0)|0}while(0);Ct(a,ca,110,c,2,ga,N,e,D);do if(!E){if(!n){Bh(S,16,0,D,0)|0;break}m=k[S+24>>2]|0;h=~D;do if((D|0)<0){n=k[m+112>>2]|0;if(!n)break;k[n+(h<<2)>>2]=k[S+32>>2]}while(0);k[m+88>>2]=(k[S+32>>2]|0)+-1;Bh(S,9,A,C,0)|0}while(0);m=k[S+24>>2]|0;h=~p;do if((p|0)<0){n=k[m+112>>2]|0;if(!n)break;k[n+(h<<2)>>2]=k[S+32>>2]}while(0);k[m+88>>2]=(k[S+32>>2]|0)+-1;h=k[t>>2]|0;if(h){m=0;do{n=m;m=m+1|0;if(i[aa+m>>0]|0)Bh(S,61,n+ea|0,0,0)|0;h=k[h+20>>2]|0}while((h|0)!=0)}if((o|0)<(ea|0))Bh(S,61,o,0,0)|0;do if(!(i[T>>0]|0)){if(k[a+412>>2]|0)break;xt(a)}while(0);if(!(k[H>>2]&128))break;if(k[a+412>>2]|0)break;if(i[T>>0]|0)break;Bh(S,35,q,1,0)|0;nq(S,1);if(i[(k[S>>2]|0)+65>>0]|0)break;ah(k[S+16>>2]|0,34520,-1,1,0)|0}while(0);if(P)k[P+492>>2]=Q}}}else f=0}else f=0;while(0);rg(ha,f);Io(ha,b);Sk(ha,c);Lk(ha,d);r=ia;return}function yr(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,la=0;la=r;r=r+96|0;if((r|0)>=(s|0))ka();$=la;fa=la+92|0;ha=la+88|0;I=la+68|0;V=la+64|0;L=la+32|0;_=la+28|0;k[fa>>2]=0;k[ha>>2]=0;ja=k[a>>2]|0;k[I+0>>2]=0;k[I+4>>2]=0;k[I+8>>2]=0;k[I+12>>2]=0;k[I+16>>2]=0;a:do if((k[a+64>>2]|0)==0?(K=ja+65|0,(i[K>>0]|0)==0):0){if(c)if((j[c+6>>1]&128)!=0?(k[c+52>>2]|0)==0:0){f=k[c>>2]|0;k[c>>2]=0;Rk(ja,c,1);c=0}else f=0;else{c=0;f=0}if((k[b+16>>2]|0)!=0?(ga=Or(a,b)|0,(ga|0)!=0):0){p=k[ga+68>>2]|0;b:do if(p){o=k[ja+20>>2]|0;if((o|0)>0){n=k[ja+16>>2]|0;h=0;while(1){m=h+1|0;if((k[n+(h<<4)+12>>2]|0)==(p|0)){m=h;break b}if((m|0)<(o|0))h=m;else break}}else m=0}else m=-1e6;while(0);if((((Xq(a,18,k[ga>>2]|0,0,k[(k[ja+16>>2]|0)+(m<<4)>>2]|0)|0)==0?(ca=ga+44|0,W=(l[ca>>0]|0)>>>5&1,ba=ot(a,ga,108,0,V)|0,da=(k[ga+12>>2]|0)!=0,(mr(a,ga)|0)==0):0)?(pt(a,ga,k[V>>2]|0)|0)==0:0)?(ia=Tq(a)|0,(ia|0)!=0):0){ea=a+18|0;if(!(i[ea>>0]|0)){aa=ia+88|0;j[aa>>1]=j[aa>>1]|4}aa=(c|0)!=0;Z=a+408|0;Y=k[Z>>2]|0;Y=(Y|0)==0?a:Y;Fr(a,m);U=Y+328|0;k[U>>2]=k[U>>2]|1<<m;Y=Y+20|0;i[Y>>0]=l[Y>>0]|(aa|(ba|0)!=0)&1;Y=(d|0)==0;c:do if((((!((c|0)==0|Y^1)?(k[a+532>>2]|0)==0:0)?(k[c+68>>2]|0)==0:0)?(Fs(a,ga)|0)==0:0)?(i[ca>>0]&16)==0:0){if((e|0)==10){if((j[ga+36>>1]|0)>-1)p=l[ga+45>>0]|0;else p=10;v=(p|0)==10?2:p}else v=e;o=k[c+32>>2]|0;if((k[o>>2]|0)==1){if(k[o+28>>2]|0){X=117;break}if(k[c+36>>2]|0){X=117;break}if(k[c+48>>2]|0){X=117;break}if(k[c+40>>2]|0){X=117;break}if(k[c+60>>2]|0){X=117;break}if(k[c+52>>2]|0){X=117;break}if(j[c+6>>1]&1){X=117;break}p=k[c>>2]|0;if((k[p>>2]|0)!=1){X=117;break}if((i[k[k[p+4>>2]>>2]>>0]|0)!=116){X=117;break}u=Zr(a,0,o+8|0)|0;if((u|0)==0|(u|0)==(ga|0)){X=117;break}y=u+44|0;U=l[y>>0]|0;if(!((U&16|0)==0?(((l[ca>>0]|0)>>>5&1^1)&255|0)==(U>>>5&1^1|0):0)){X=117;break}if(k[u+12>>2]|0){X=117;break}q=j[ga+38>>1]|0;if(q<<16>>16!=(j[u+38>>1]|0)){X=117;break}x=ga+36|0;if((j[x>>1]|0)!=(j[u+36>>1]|0)){X=117;break}if(q<<16>>16>0){h=k[ga+4>>2]|0;g=k[u+4>>2]|0;t=0;do{if((i[h+(t*24|0)+21>>0]|0)!=(i[g+(t*24|0)+21>>0]|0)){X=117;break c}p=k[h+(t*24|0)+16>>2]|0;o=k[g+(t*24|0)+16>>2]|0;n=(o|0)==0;if(!p){if(!n){X=117;break c}}else{if(n){X=117;break c}if(id(p,o)|0){X=117;break c}}if((i[h+(t*24|0)+20>>0]|0)!=0?(i[g+(t*24|0)+20>>0]|0)==0:0){X=117;break c}do if((t|0)>0){p=k[h+(t*24|0)+8>>2]|0;o=(p|0)==0;n=k[g+(t*24|0)+8>>2]|0;if(o^(n|0)==0){X=117;break c}if(o)break;if(dw(p,n)|0){X=117;break c}}while(0);t=t+1|0}while((t|0)<(q<<16>>16|0))}B=ga+8|0;p=k[B>>2]|0;if(!p)o=0;else{q=k[u+8>>2]|0;if(!q){X=117;break}else o=0;do{o=(i[p+50>>0]|0)==0?o:1;n=q;while(1){if(It(p,n)|0)break;n=k[n+20>>2]|0;if(!n){X=117;break c}}if(!n){X=117;break c}p=k[p+20>>2]|0}while((p|0)!=0)}p=k[ga+24>>2]|0;if((p|0)!=0?(Ys(k[u+24>>2]|0,p,-1)|0)!=0:0){X=117;break}n=k[a>>2]|0;p=k[n+24>>2]|0;if(!(p&524288)){if(p&128){X=117;break}}else if(!((k[ga+16>>2]|0)==0&(p&128|0)==0)){X=117;break}g=k[u+68>>2]|0;d:do if(!g)n=-1e6;else{q=k[n+20>>2]|0;if((q|0)<=0){n=0;break}p=k[n+16>>2]|0;h=0;while(1){n=h+1|0;if((k[p+(h<<4)+12>>2]|0)==(g|0)){n=h;break d}if((n|0)<(q|0))h=n;else break}}while(0);A=Tq(a)|0;Fr(a,n);w=a+68|0;C=k[w>>2]|0;z=C+1|0;k[w>>2]=C+2;w=Jt(a,m,ga)|0;q=a+19|0;h=i[q>>0]|0;do if(!(h<<24>>24)){X=a+72|0;p=(k[X>>2]|0)+1|0;k[X>>2]=p;X=78}else{U=h+-1<<24>>24;i[q>>0]=U;p=k[a+((U&255)<<2)+24>>2]|0;if(!(U<<24>>24)){X=78;break}D=h+-2<<24>>24;i[q>>0]=D;E=p;D=k[a+((D&255)<<2)+24>>2]|0}while(0);if((X|0)==78){E=a+72|0;D=(k[E>>2]|0)+1|0;k[E>>2]=D;E=p}Vq(a,z,m,ga,55);if((j[x>>1]|0)<0)if((k[B>>2]|0)!=0|(o|0)!=0|(v+-1|0)>>>0>1)X=83;else F=0;else if((o|0)!=0|(v+-1|0)>>>0>1)X=83;else F=0;if((X|0)==83){t=Bh(A,108,z,0,0)|0;q=Bh(A,16,0,0,0)|0;p=k[A+32>>2]|0;if(p>>>0>t>>>0)k[(k[A+4>>2]|0)+(t*20|0)+8>>2]=p;k[(k[A+24>>2]|0)+88>>2]=p+-1;F=q}if(!(i[y>>0]&32)){Vq(a,C,n,u,54);o=Bh(A,108,C,0,0)|0;do if((j[x>>1]|0)<=-1)if(!(k[B>>2]|0)){p=Bh(A,74,z,D,0)|0;break}else{p=Bh(A,103,C,D,0)|0;break}else{p=Bh(A,103,C,D,0)|0;t=Bh(A,70,z,0,D)|0;Kt(a,v,ga);q=k[A+32>>2]|0;if(q>>>0>t>>>0)k[(k[A+4>>2]|0)+(t*20|0)+8>>2]=q;k[(k[A+24>>2]|0)+88>>2]=q+-1;if((w|0)<=0)break;Bh(k[a+8>>2]|0,136,w,D,0)|0}while(0);Bh(A,102,C,E,0)|0;Bh(A,75,z,E,D)|0;q=k[A+4>>2]|0;if(q)i[q+(((k[A+32>>2]|0)+-1|0)*20|0)+3>>0]=11;Ch(A,-1,k[ga>>2]|0,0);Bh(A,9,C,p,0)|0;Bh(A,61,C,0,0)|0;Bh(A,61,z,0,0)|0}else{ls(a,m,k[ga+32>>2]|0,1,k[ga>>2]|0);ls(a,n,k[u+32>>2]|0,0,k[u>>2]|0);o=0}t=k[B>>2]|0;if(t){h=u+8|0;g=a+8|0;u=A+4|0;v=A+32|0;w=A+24|0;p=t;do{t=h;while(1){t=k[t>>2]|0;if(It(p,t)|0)break;t=t+20|0}Bh(A,54,C,k[t+40>>2]|0,n)|0;U=k[g>>2]|0;Ch(U,-1,ms(a,t)|0,-6);Bh(A,55,z,k[p+40>>2]|0,m)|0;t=k[g>>2]|0;Ch(t,-1,ms(a,p)|0,-6);t=k[u>>2]|0;if(t)i[t+(((k[v>>2]|0)+-1|0)*20|0)+3>>0]=1;t=Bh(A,108,C,0,0)|0;Bh(A,101,C,E,0)|0;Bh(A,110,z,E,1)|0;Bh(A,9,C,t+1|0,0)|0;q=k[v>>2]|0;if(q>>>0>t>>>0)k[(k[u>>2]|0)+(t*20|0)+8>>2]=q;k[(k[w>>2]|0)+88>>2]=q+-1;Bh(A,61,C,0,0)|0;Bh(A,61,z,0,0)|0;p=k[p+20>>2]|0}while((p|0)!=0)}if(o){p=k[A+32>>2]|0;if(p>>>0>o>>>0)k[(k[A+4>>2]|0)+(o*20|0)+8>>2]=p;k[(k[A+24>>2]|0)+88>>2]=p+-1}ds(a,D);ds(a,E);if(!F){g=0;h=0;break}Bh(A,24,0,0,0)|0;p=k[A+32>>2]|0;if(p>>>0>F>>>0)k[(k[A+4>>2]|0)+(F*20|0)+8>>2]=p;k[(k[A+24>>2]|0)+88>>2]=p+-1;Bh(A,61,z,0,0)|0;X=117}else X=117}else X=117;while(0);do if((X|0)==117){P=Jt(a,m,ga)|0;O=a+72|0;o=k[O>>2]|0;T=o+1|0;U=ga+38|0;F=j[U>>1]|0;E=F<<16>>16;p=T+E|0;k[O>>2]=p;if(!(i[ca>>0]&16))S=T;else{p=p+1|0;k[O>>2]=p;S=o+2|0}Q=S+1|0;R=(d|0)!=0;e:do if(R?(M=k[d+4>>2]|0,N=(M|0)>0,N):0){q=k[d>>2]|0;o=0;do{k[q+(o<<3)+4>>2]=-1;o=o+1|0}while((o|0)<(M|0));if(N){A=W<<24>>24!=0;z=ga+4|0;y=ga+36|0;o=1;x=0;q=-1;while(1){f:do if(F<<16>>16>0){w=k[d>>2]|0;n=k[w+(x<<3)>>2]|0;h=k[z>>2]|0;g=0;while(1){t=g+1|0;if(!(id(n,k[h+(g*24|0)>>2]|0)|0)){t=g;break}if((t|0)<(E|0))g=t;else break f}k[w+(x<<3)+4>>2]=t;o=(x|0)==(t|0)?o:0;q=(t|0)==(j[y>>1]|0)?x:q}else t=0;while(0);if((t|0)>=(E|0)){g=k[(k[d>>2]|0)+(x<<3)>>2]|0;if((ei(g)|0)==0|A)break;else{o=0;t=x}}else t=q;x=x+1|0;if((x|0)>=(M|0)){B=t;break e}else q=t}k[$>>2]=b;k[$+4>>2]=0;k[$+8>>2]=g;yh(a,33368,$);i[a+17>>0]=1;g=0;break a}else{o=1;B=-1}}else{o=1;B=-1}while(0);g:do if(!aa){k[L+0>>2]=0;k[L+4>>2]=0;k[L+8>>2]=0;k[L+12>>2]=0;k[L+16>>2]=0;k[L+20>>2]=0;k[L+24>>2]=0;k[L+28>>2]=0;k[L>>2]=a;if(f){n=k[f>>2]|0;if((n|0)>0){p=f+4|0;o=0;while(1){if(qs(L,k[(k[p>>2]|0)+(o*20|0)>>2]|0)|0){c=0;g=0;break a}o=o+1|0;if((o|0)>=(n|0)){p=0;o=-1;m=0;X=169;break}}}else{M=B;L=0;N=-1;w=0}}else{M=B;n=0;L=0;N=-1;w=0}}else{p=p+1|0;k[O>>2]=p;D=ia+32|0;q=k[D>>2]|0;Bh(ia,20,p,0,q+1|0)|0;i[I>>0]=13;E=I+4|0;k[E>>2]=p;i[I+1>>0]=0;C=I+8|0;k[C>>2]=o<<24>>24!=0?Q:0;k[I+12>>2]=j[U>>1];N=nr(a,c,I)|0;C=k[C>>2]|0;if(N){g=0;break a}if(i[K>>0]|0){g=0;break a}Bh(ia,21,p,0,0)|0;p=k[D>>2]|0;if(p>>>0>q>>>0)k[(k[ia+4>>2]|0)+(q*20|0)+8>>2]=p;F=ia+24|0;k[(k[F>>2]|0)+88>>2]=p+-1;n=k[k[c>>2]>>2]|0;h:do if(!ba){t=Tq(a)|0;o=k[t+32>>2]|0;i:do if(!(i[ca>>0]&16))q=0;else{p=k[a>>2]|0;q=k[ga+60>>2]|0;if(!q){q=0;break}while(1){if((k[q>>2]|0)==(p|0))break i;q=k[q+24>>2]|0;if(!q){q=0;break}}}while(0);if((o|0)<=1){p=C;o=0;m=0;X=169;break g}h=(i[(k[t>>2]|0)+65>>0]|0)==0;w=t+4|0;v=ga+32|0;u=ga+8|0;g=1;while(1){if(h)t=(k[w>>2]|0)+(g*20|0)|0;else t=29120;p=i[t>>0]|0;do if(p<<24>>24==54){if((k[t+12>>2]|0)!=(m|0))break;p=k[t+8>>2]|0;if((p|0)==(k[v>>2]|0))break h;t=k[u>>2]|0;if(!t)break;do{if((p|0)==(k[t+40>>2]|0))break h;t=k[t+20>>2]|0}while((t|0)!=0)}else if(p<<24>>24==-107?(k[t+16>>2]|0)==(q|0):0)break h;while(0);g=g+1|0;if((g|0)>=(o|0)){p=C;o=0;m=0;X=169;break g}}}while(0);q=a+68|0;t=k[q>>2]|0;k[q>>2]=t+1;q=a+19|0;o=i[q>>0]|0;do if(!(o<<24>>24)){p=(k[O>>2]|0)+1|0;k[O>>2]=p;X=159}else{N=o+-1<<24>>24;i[q>>0]=N;p=k[a+((N&255)<<2)+24>>2]|0;if(!(N<<24>>24)){X=159;break}N=o+-2<<24>>24;i[q>>0]=N;q=k[a+((N&255)<<2)+24>>2]|0}while(0);if((X|0)==159){q=(k[O>>2]|0)+1|0;k[O>>2]=q}Bh(ia,57,t,n,0)|0;m=Bh(ia,22,k[E>>2]|0,0,0)|0;Bh(ia,49,C,n,p)|0;Bh(ia,74,t,q,0)|0;Bh(ia,75,t,p,q)|0;Bh(ia,16,0,m,0)|0;o=k[D>>2]|0;if(o>>>0>m>>>0)k[(k[ia+4>>2]|0)+(m*20|0)+8>>2]=o;k[(k[F>>2]|0)+88>>2]=o+-1;ds(a,p);ds(a,q);p=C;o=t;m=1;X=169}while(0);if((X|0)==169)if(Y&(n|0)>0){M=j[ga+36>>1]|0;L=p;N=o;w=m}else{M=B;L=p;N=o;w=m}if((i[ca>>0]&16)!=0?(J=j[U>>1]|0,J<<16>>16>0):0){q=k[ga+4>>2]|0;o=J<<16>>16;m=0;p=0;do{p=((l[q+(m*24|0)+23>>0]|0)>>>1&1)+p|0;m=m+1|0}while((m|0)<(o|0))}else p=0;do if(Y&(n|0)!=0){p=(j[U>>1]|0)-p|0;if((n|0)==(p|0))break;k[$>>2]=b;k[$+4>>2]=0;k[$+8>>2]=p;k[$+12>>2]=n;yh(a,33400,$);g=0;break a}while(0);do if(R){p=k[d+4>>2]|0;if((n|0)==(p|0))break;k[$>>2]=n;k[$+4>>2]=p;yh(a,33456,$);g=0;break a}while(0);H=ja+24|0;if(!(k[H>>2]&128))h=0;else{h=(k[O>>2]|0)+1|0;k[O>>2]=h;Bh(ia,25,0,h,0)|0}do if(da)g=0;else{p=ut(a,ga,55,-1,0,fa,ha)|0;g=rh(ja,(p<<2)+4|0,0)|0;if(!g)break a;if((p|0)>0)o=0;else break;do{K=(k[O>>2]|0)+1|0;k[O>>2]=K;k[g+(o<<2)>>2]=K;o=o+1|0}while((o|0)!=(p|0))}while(0);J=w<<24>>24!=0;do if(J){K=Bh(ia,108,N,0,0)|0;I=k[ia+32>>2]|0}else{if(!aa){I=0;K=0;break}K=Bh(ia,22,k[I+4>>2]|0,0,0)|0;I=K}while(0);G=Cs(ia)|0;do if(k[V>>2]&1){t=(j[U>>1]|0)+1|0;E=a+60|0;q=k[E>>2]|0;D=a+56|0;p=k[D>>2]|0;if((p|0)<(t|0)){F=k[O>>2]|0;k[O>>2]=F+t;F=F+1|0}else{k[E>>2]=t+q;k[D>>2]=p-t;F=q}if((M|0)<0)Bh(ia,25,-1,F,0)|0;else{if(J)Bh(ia,47,N,M,F)|0;else Wq(a,k[(k[f+4>>2]|0)+(M*20|0)>>2]|0,F);t=Bh(ia,77,F,0,0)|0;Bh(ia,25,-1,F,0)|0;q=k[ia+32>>2]|0;if(q>>>0>t>>>0)k[(k[ia+4>>2]|0)+(t*20|0)+8>>2]=q;k[(k[ia+24>>2]|0)+88>>2]=q+-1;Bh(ia,38,F,0,0)|0}q=j[U>>1]|0;if(q<<16>>16>0){A=J|(f|0)!=0;o=d+4|0;p=F+1|0;t=f+4|0;x=a+8|0;y=ga+4|0;z=0;do{j:do if(Y)w=z;else{v=k[o>>2]|0;if((v|0)<=0){w=0;break}u=k[d>>2]|0;m=0;while(1){w=m+1|0;if((k[u+(m<<3)+4>>2]|0)==(z|0)){w=m;break j}if((w|0)<(v|0))m=w;else break}}while(0);do if(A){if(R?(w|0)>=(k[o>>2]|0):0){X=213;break}if(J){Bh(ia,47,N,w,p+z|0)|0;break}else{V=k[(k[t>>2]|0)+(w*20|0)>>2]|0;m=p+z|0;u=k[x>>2]|0;Wq(a,V,m);q=(k[O>>2]|0)+1|0;k[O>>2]=q;Bh(u,33,m,q,0)|0;i[V+38>>0]=i[V>>0]|0;i[V>>0]=-97;k[V+28>>2]=q;V=V+4|0;k[V>>2]=k[V>>2]&-4097;break}}else X=213;while(0);if((X|0)==213){X=0;Wq(a,k[(k[y>>2]|0)+(z*24|0)+4>>2]|0,p+z|0)}z=z+1|0;q=j[U>>1]|0}while((z|0)<(q<<16>>16|0))}if(!da){Bt(ia,ga,F+1|0);q=j[U>>1]|0}Ct(a,ba,108,0,1,ga,F+-1-(q<<16>>16)|0,e,G);q=(j[U>>1]|0)+1|0;it(a,F,q);if((k[D>>2]|0)>=(q|0))break;k[D>>2]=q;k[E>>2]=F}while(0);do if(!da){if(i[ca>>0]&16)Bh(ia,28,0,T,0)|0;k:do if((M|0)<=-1)if(!((i[ca>>0]&16|W)<<24>>24)){Bh(ia,74,k[fa>>2]|0,S,P)|0;F=1;break}else{Bh(ia,28,0,S,0)|0;F=0;break}else{do if(J)Bh(ia,47,N,M,S)|0;else{if(aa){Bh(ia,33,M+L|0,S,0)|0;break}Wq(a,k[(k[f+4>>2]|0)+(M*20|0)>>2]|0,S);if(!(i[(k[ia>>2]|0)+65>>0]|0)){p=(k[ia+4>>2]|0)+(((k[ia+32>>2]|0)+-1|0)*20|0)|0;if(!p)break}else p=29120;if((i[p>>0]|0)!=28)break;if(i[ca>>0]&16)break;i[p>>0]=74;k[p+4>>2]=k[fa>>2];k[p+8>>2]=S;k[p+12>>2]=P;F=1;break k}while(0);if(!(i[ca>>0]&16)){p=Bh(ia,77,S,0,0)|0;Bh(ia,74,k[fa>>2]|0,S,P)|0;o=k[ia+32>>2]|0;if(o>>>0>p>>>0)k[(k[ia+4>>2]|0)+(p*20|0)+8>>2]=o;k[(k[ia+24>>2]|0)+88>>2]=o+-1}else Bh(ia,76,S,(k[ia+32>>2]|0)+2|0,0)|0;Bh(ia,38,S,0,0)|0;F=0}while(0);if((P|0)>0)Bh(k[a+8>>2]|0,136,P,S,0)|0;if((j[U>>1]|0)>0){D=ga+36|0;E=ga+4|0;z=(n|0)==0;y=d+4|0;x=(L|0)==(Q|0);n=f+4|0;o=a+23|0;p=$+20|0;q=$+4|0;B=$+24|0;C=0;t=0;do{A=C+Q|0;l:do if((C|0)==(j[D>>1]|0))Bh(ia,29,A,0,0)|0;else{m:do if(Y)if(!(i[(k[E>>2]|0)+(C*24|0)+23>>0]&2)){w=C-t|0;X=258;break}else{t=t+1|0;break}else{v=k[y>>2]|0;if((v|0)<=0){w=0;X=258;break}u=k[d>>2]|0;m=0;while(1){w=m+1|0;if((k[u+(m<<3)+4>>2]|0)==(C|0)){w=m;X=258;break m}if((w|0)<(v|0))m=w;else{X=258;break}}}while(0);do if((X|0)==258){X=0;if((w|0)<0|z)break;if(R?(w|0)>=(k[y>>2]|0):0)break;if(J){Bh(ia,47,N,w,A)|0;break l}if(!aa){Wq(a,k[(k[n>>2]|0)+(w*20|0)>>2]|0,A);break l}if(x)break l;Bh(ia,34,w+L|0,A,0)|0;break l}while(0);w=k[(k[E>>2]|0)+(C*24|0)+4>>2]|0;do if(i[o>>0]|0){k[$+0>>2]=0;k[$+4>>2]=0;k[$+8>>2]=0;k[$+12>>2]=0;k[$+16>>2]=0;k[$+20>>2]=0;i[p>>0]=1;k[$>>2]=78;k[q>>2]=79;k[B>>2]=0;ws($,w)|0;if(!(i[p>>0]|0))break;Lt(a,w,A,0);break l}while(0);Wq(a,w,A)}while(0);C=C+1|0}while((C|0)<(j[U>>1]|0))}if(!(i[ca>>0]&16)){Dt(a,ga,g,k[fa>>2]|0,k[ha>>2]|0,T,0,M>>>31&255^1,e&255,G,_);Et(a,ga,0,T,0,0);Gt(a,ga,k[fa>>2]|0,k[ha>>2]|0,T,g,0,F,(k[_>>2]|0)==0&1);break}p=k[ga+60>>2]|0;n:do if(!p)p=0;else while(1){if((k[p>>2]|0)==(ja|0))break n;p=k[p+24>>2]|0;if(!p){p=0;break}}while(0);vt(a,ga);Ch(ia,Bh(ia,15,1,(j[U>>1]|0)+2|0,T)|0,p,-10);o=k[ia+4>>2]|0;if(o)i[o+(((k[ia+32>>2]|0)+-1|0)*20|0)+3>>0]=(e|0)==10?2:e&255;$=k[Z>>2]|0;i[(($|0)==0?a:$)+21>>0]=1}while(0);if(k[H>>2]&128)Bh(ia,37,h,1,0)|0;if(ba)Ct(a,ba,108,0,2,ga,S+-1-(j[U>>1]|0)|0,e,G);p=ia+24|0;o=k[p>>2]|0;m=~G;do if((G|0)<0){n=k[o+112>>2]|0;if(!n)break;k[n+(m<<2)>>2]=k[ia+32>>2]}while(0);n=ia+32|0;k[o+88>>2]=(k[n>>2]|0)+-1;do if(J){Bh(ia,9,N,I,0)|0;n=k[n>>2]|0;if(n>>>0>K>>>0)k[(k[ia+4>>2]|0)+(K*20|0)+8>>2]=n;k[(k[p>>2]|0)+88>>2]=n+-1;Bh(ia,61,N,0,0)|0}else{if(!aa)break;Bh(ia,16,0,I,0)|0;n=k[n>>2]|0;if(n>>>0>K>>>0)k[(k[ia+4>>2]|0)+(K*20|0)+8>>2]=n;k[(k[p>>2]|0)+88>>2]=n+-1}while(0);if((i[ca>>0]&16)!=0|da)break;m=k[fa>>2]|0;if((m|0)<(k[ha>>2]|0))Bh(ia,61,m,0,0)|0;m=k[ga+8>>2]|0;if(!m)break;else n=0;while(1){Bh(ia,61,(k[ha>>2]|0)+n|0,0,0)|0;m=k[m+20>>2]|0;if(!m)break;else n=n+1|0}}while(0);if((i[ea>>0]|0)==0?(k[a+412>>2]|0)==0:0)xt(a);if((((k[ja+24>>2]&128|0)!=0?(i[ea>>0]|0)==0:0)?(k[a+412>>2]|0)==0:0)?(Bh(ia,35,h,1,0)|0,nq(ia,1),(i[(k[ia>>2]|0)+65>>0]|0)==0):0)ah(k[ia+16>>2]|0,33488,-1,1,0)|0}else g=0}else g=0}else{g=0;f=0}while(0);Io(ja,b);Sk(ja,f);Rk(ja,c,1);Mk(ja,d);rg(ja,g);r=la;return}function zr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=r;r=r+16|0;if((r|0)>=(s|0))ka();d=f;if(!b){b=rh(a,8,0)|0;if(!b)b=0;else{e=b;g=e;i[g>>0]=0;i[g+1>>0]=0;i[g+2>>0]=0;i[g+3>>0]=0;e=e+4|0;i[e>>0]=0;i[e+1>>0]=0;i[e+2>>0]=0;i[e+3>>0]=0;e=4}}else e=4;do if((e|0)==4){e=Mt(a,k[b>>2]|0,8,b+4|0,d)|0;k[b>>2]=e;d=k[d>>2]|0;if((d|0)<0){Mk(a,b);b=0;break}else{a=$q(a,c)|0;k[(k[b>>2]|0)+(d<<3)>>2]=a;break}}while(0);r=f;return b|0}function Ar(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;if((k[c+4>>2]|0)!=0?(e=sr(k[a>>2]|0,95,c,d)|0,(e|0)!=0):0){k[e+12>>2]=b;b=e+4|0;k[b>>2]=k[b>>2]|4352;b=e}return b|0}function Br(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=k[a>>2]|0;c=sr(d,153,c,1)|0;if(!c){Sk(d,b);c=0}else{k[c+20>>2]=b;Dr(a,c)}return c|0}function Cr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=k[a>>2]|0;if((b|0)!=0&(c|0)!=0?(i[b>>0]|0)==101:0){i[c>>0]=d;d=c+16|0;Lk(a,k[d>>2]|0);k[d>>2]=0}return}function Dr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;if((r|0)>=(s|0))ka();d=e;if((k[a+64>>2]|0)==0?(Nt(b),c=k[(k[a>>2]|0)+100>>2]|0,(c|0)<(k[b+24>>2]|0)):0){k[d>>2]=c;yh(a,27152,d)}r=e;return}function Er(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;c=k[a>>2]|0;h=c+20|0;d=k[h>>2]|0;if((d|0)>0){f=c+16|0;g=(b|0)==0;c=d;e=0;do{d=k[f>>2]|0;do if(k[d+(e<<4)+4>>2]|0){if(!g?(id(b,k[d+(e<<4)>>2]|0)|0)!=0:0)break;Fr(a,e);c=k[h>>2]|0}while(0);e=e+1|0}while((e|0)<(c|0))}return}function Fr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=k[a+408>>2]|0;e=(e|0)==0?a:e;a=e+332|0;c=k[a>>2]|0;d=1<<b;if((c&d|0)==0?(f=k[e>>2]|0,k[a>>2]=c|d,k[e+(b<<2)+336>>2]=k[k[(k[f+16>>2]|0)+(b<<4)+12>>2]>>2],(b|0)==1):0)dl(e)|0;return}function Gr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0;m=r;r=r+128|0;if((r|0)>=(s|0))ka();d=m+8|0;l=m;j=m+24|0;k[l>>2]=0;g=k[a>>2]|0;if((k[a+64>>2]|0)==0?(k[d>>2]=c,h=$k(g,b,d)|0,(h|0)!=0):0){b=a+18|0;i[b>>0]=(i[b>>0]|0)+1<<24>>24;c=a+440|0;d=j+0|0;e=c+0|0;f=d+96|0;do{i[d>>0]=i[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));d=c+0|0;f=d+96|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(f|0));Qh(a,h,l)|0;rg(g,k[l>>2]|0);rg(g,h);d=c+0|0;e=j+0|0;f=d+96|0;do{i[d>>0]=i[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));i[b>>0]=(i[b>>0]|0)+-1<<24>>24}r=m;return}function Hr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;h=r;r=r+48|0;if((r|0)>=(s|0))ka();f=h;g=h+16|0;b=k[(k[(k[a>>2]|0)+16>>2]|0)+(b<<4)>>2]|0;e=1;do{k[f>>2]=e;fd(24,g,33272,f)|0;if(di(k[a>>2]|0,g,b)|0){k[f>>2]=b;k[f+4>>2]=g;k[f+8>>2]=c;k[f+12>>2]=d;Gr(a,28840,f)}e=e+1|0}while((e|0)!=5);r=h;return}function Ir(a,b){a=a|0;b=b|0;var c=0,d=0;c=a+19|0;d=i[c>>0]|0;if(!(d<<24>>24)){d=a+72|0;c=(k[d>>2]|0)+1|0;k[d>>2]=c}else{d=d+-1<<24>>24;i[c>>0]=d;c=k[a+((d&255)<<2)+24>>2]|0}d=k[a+8>>2]|0;Bh(d,25,(k[k[(k[(k[a>>2]|0)+16>>2]|0)+(b<<4)+12>>2]>>2]|0)+1|0,c,0)|0;Bh(d,52,b,1,c)|0;ds(a,c);return}function Jr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;if((r|0)>=(s|0))ka();g=h;f=Tq(a)|0;d=a+19|0;e=i[d>>0]|0;if(!(e<<24>>24)){e=a+72|0;d=(k[e>>2]|0)+1|0;k[e>>2]=d}else{e=e+-1<<24>>24;i[d>>0]=e;d=k[a+((e&255)<<2)+24>>2]|0}Bh(f,117,b,d,c)|0;e=k[a+408>>2]|0;i[((e|0)==0?a:e)+21>>0]=1;k[g>>2]=k[(k[(k[a>>2]|0)+16>>2]|0)+(c<<4)>>2];k[g+4>>2]=(c|0)==1?13184:13208;k[g+8>>2]=b;k[g+12>>2]=d;k[g+16>>2]=d;Gr(a,33216,g);ds(a,d);r=h;return}function Kr(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;U=r;r=r+96|0;if((r|0)>=(s|0))ka();D=U+24|0;t=U+80|0;g=U+64|0;x=U+16|0;o=U+60|0;p=U+56|0;L=U+52|0;K=U+48|0;w=U+44|0;A=U+40|0;B=U+36|0;C=U+32|0;u=U+8|0;n=U;T=k[a>>2]|0;Q=Tq(a)|0;do if((Q|0)!=0?(P=Q+88|0,j[P>>1]=j[P>>1]|16,P=a+72|0,k[P>>2]=2,N=jr(a,b,c,t)|0,(N|0)>=0):0){O=T+16|0;z=k[O>>2]|0;if((N|0)==1?(dl(a)|0)!=0:0)break;S=$q(T,k[t>>2]|0)|0;if(S){if(!e)R=$q(T,d)|0;else{k[D>>2]=d;R=zh(T,30104,D)|0}y=c+4|0;if(!(k[y>>2]|0))I=0;else I=k[z+(N<<4)>>2]|0;a:do if(!(Xq(a,19,S,R,I)|0)){k[g>>2]=0;k[g+4>>2]=S;k[g+8>>2]=R;k[g+12>>2]=0;h=T+452|0;k[h>>2]=0;b=hg(T,I,14,g)|0;if((b|0)==12){t=0;g=56;b:while(1){while(1){e=(t+g|0)/2|0;b=k[30120+(e*12|0)>>2]|0;d=id(S,b)|0;if(!d){t=e;break b}if((d|0)<0){b=e;break}if((e|0)<(g|0))t=e+1|0;else break a}b=b+-1|0;if((t|0)>(b|0))break a;else g=b}if((i[30125+(t*12|0)>>0]&1)!=0?(Ln(a)|0)!=0:0)break;do switch(l[30124+(t*12|0)>>0]|0){case 1:{d=k[z+(N<<4)+4>>2]|0;if(!R){f=k[d+4>>2]|0;k[f+4>>2]=k[d>>2];if(!(i[f+17>>0]|0)){f=0;e=0}else{e=(i[f+18>>0]|0)==0;f=e?1:2;e=e?0:0}Ot(a,30976,f,e);break a}if(id(R,32192)|0)if(id(R,31880)|0)if(!(id(R,32200)|0))f=2;else{k[D>>2]=0;In(R,D)|0;f=k[D>>2]|0;f=f>>>0<3?f&255:0}else f=1;else f=0;i[T+67>>0]=f;h=f+-1|0;if(!((An(d,f)|0)==0&h>>>0<2))break a;e=Dh(Q,6,30992)|0;g=k[Q+32>>2]|0;if(g>>>0>e>>>0)k[(k[Q+4>>2]|0)+(e*20|0)+4>>2]=N;d=e+1|0;if(g>>>0>d>>>0)k[(k[Q+4>>2]|0)+(d*20|0)+4>>2]=N;d=e+2|0;f=e+4|0;if(g>>>0>d>>>0)k[(k[Q+4>>2]|0)+(d*20|0)+8>>2]=f;if(g>>>0>f>>>0)k[(k[Q+4>>2]|0)+(f*20|0)+4>>2]=h;f=e+5|0;if(g>>>0>f>>>0)k[(k[Q+4>>2]|0)+(f*20|0)+4>>2]=N;D=Q+96|0;k[D>>2]=k[D>>2]|1<<N;break a}case 4:if(!R){D=k[(k[z+(N<<4)+12>>2]|0)+80>>2]|0;Ot(a,30848,D,((D|0)<0)<<31>>31);break a}else{k[D>>2]=0;In(R,D)|0;D=k[D>>2]|0;k[(k[z+(N<<4)+12>>2]|0)+80>>2]=D;uq(k[z+(N<<4)+4>>2]|0,D);break a}case 23:{Ot(a,31016,0,0);break a}case 31:{if(!R){Ot(a,31032,l[T+64>>0]|0,0);break a}e=i[R>>0]|0;if((e+-48&255)>=3)if(!(id(R,31352)|0))e=1;else{e=(id(R,15168)|0)==0;e=e?2:0}else e=(e<<24>>24)+-48|0;f=(k[a>>2]|0)+64|0;if((l[f>>0]|0)==(e|0))break a;if(Pt(a)|0)break a;i[f>>0]=e;break a}case 32:{if(!R){if(!(k[2708]|0))break a;nq(Q,1);if(!(i[(k[Q>>2]|0)+65>>0]|0))ah(k[Q+16>>2]|0,31048,-1,1,0)|0;D=k[2708]|0;Ch(Q,Bh(Q,97,0,1,0)|0,D,0);Bh(Q,35,1,1,0)|0;break a}if((i[R>>0]|0)!=0?(C=k[T>>2]|0,C=(uc[k[C+32>>2]&31](C,R,1,p)|0)!=0,C|(k[p>>2]|0)==0):0){yh(a,31072,D);break a}if((l[T+64>>0]|0)<2)Pt(a)|0;$c(k[2708]|0);if(!(i[R>>0]|0)){k[2708]=0;break a}else{k[D>>2]=R;D=dd(10344,D)|0;k[2708]=D;break a}}case 14:{if(!((R|0)!=0?(D=(In(R,o)|0)==0,f=k[o>>2]|0,!(D|(f|0)<1)):0)){k[o>>2]=2147483647;f=2147483647}e=k[a+408>>2]|0;Fr(a,N);e=((e|0)==0?a:e)+328|0;k[e>>2]=k[e>>2]|1<<N;Bh(Q,25,f,1,0)|0;f=Bh(Q,143,N,0,0)|0;Bh(Q,35,1,0,0)|0;Bh(Q,37,1,-1,0)|0;Bh(Q,137,1,f,0)|0;e=k[Q+32>>2]|0;if(e>>>0>f>>>0)k[(k[Q+4>>2]|0)+(f*20|0)+8>>2]=e;k[(k[Q+24>>2]|0)+88>>2]=e+-1;break a}case 18:{nq(Q,1);if(!(i[(k[Q>>2]|0)+65>>0]|0))ah(k[Q+16>>2]|0,30936,-1,1,0)|0;c:do if(R){d=R;while(1)if(!(i[d>>0]|0))break;else d=d+1|0;f=d-R&1073741823;d=0;while(1){if(!(Kc(R,k[32216+(d<<2)>>2]|0,f)|0))break;d=d+1|0;if((d|0)==6){M=91;break c}}if((d|0)!=-1)g=N;else M=91}else M=91;while(0);if((M|0)==91)if(!(k[y>>2]|0)){k[y>>2]=1;d=-1;g=0}else{d=-1;g=N}f=k[T+20>>2]|0;if((f|0)>0){e=Q+96|0;do{f=f+-1|0;do if(k[(k[O>>2]|0)+(f<<4)+4>>2]|0){if((f|0)!=(g|0)?(k[y>>2]|0)!=0:0)break;k[e>>2]=k[e>>2]|1<<f;Bh(Q,12,f,1,d)|0}while(0)}while((f|0)>0)}Bh(Q,35,1,1,0)|0;break a}case 22:{Fr(a,N);d=(k[P>>2]|0)+1|0;k[P>>2]=d;if((i[S>>0]&-33)<<24>>24==80)Bh(Q,153,N,d,0)|0;else{k[D>>2]=0;if(R){In(R,D)|0;f=k[D>>2]|0;if((f|0)<=-1)f=(f|0)==-2147483648?2147483647:0-f|0}else f=0;Bh(Q,154,N,d,f)|0}Bh(Q,35,d,1,0)|0;nq(Q,1);if(i[(k[Q>>2]|0)+65>>0]|0)break a;ah(k[Q+16>>2]|0,S,-1,1,-1)|0;break a}case 25:{e=k[z+(N<<4)+4>>2]|0;if(R){f=(ni(R,1,0)|0)<<24>>24!=0&1;if((k[y>>2]|0)==0?(v=T+20|0,(k[v>>2]|0)>0):0){d=0;do{xo(k[(k[O>>2]|0)+(d<<4)+4>>2]|0,f)|0;d=d+1|0}while((d|0)<(k[v>>2]|0))}}else f=-1;D=xo(e,f)|0;Ot(a,30880,D,((D|0)<0)<<31>>31);break a}case 24:{e=k[z+(N<<4)+4>>2]|0;if(R){k[D>>2]=0;In(R,D)|0;D=k[D>>2]|0;k[T+72>>2]=D;if((Cg(e,D,-1,0)|0)!=7)break a;i[T+65>>0]=1;break a}if(!e){e=0;f=0}else{f=k[(k[e+4>>2]|0)+32>>2]|0;e=f;f=((f|0)<0)<<31>>31}Ot(a,30864,e,f);break a}case 29:{if(!R){D=(l[z+(N<<4)+8>>0]|0)+-1|0;Ot(a,31104,D,((D|0)<0)<<31>>31);break a}if(!(i[T+63>>0]|0)){yh(a,31120,D);break a}else{D=((ni(R,0,1)|0)&255)+1&255;i[z+(N<<4)+8>>0]=D;Qt(T);break a}}case 30:{if(!R)break a;c=di(T,R,I)|0;if(!c)break a;d=k[c+8>>2]|0;d:do if(!d)d=0;else while(1){if((i[d+51>>0]&3)==2)break d;d=k[d+20>>2]|0;if(!d){d=0;break}}while(0);nq(Q,6);k[P>>2]=6;Fr(a,N);do if((((i[(k[Q>>2]|0)+65>>0]|0)==0?(ah(k[Q+16>>2]|0,31176,-1,1,0)|0,(i[(k[Q>>2]|0)+65>>0]|0)==0):0)?(ah((k[Q+16>>2]|0)+40|0,31184,-1,1,0)|0,(i[(k[Q>>2]|0)+65>>0]|0)==0):0)?(ah((k[Q+16>>2]|0)+80|0,31192,-1,1,0)|0,(i[(k[Q>>2]|0)+65>>0]|0)==0):0){ah((k[Q+16>>2]|0)+120|0,31200,-1,1,0)|0;if(i[(k[Q>>2]|0)+65>>0]|0)break;ah((k[Q+16>>2]|0)+160|0,31208,-1,1,0)|0;if(i[(k[Q>>2]|0)+65>>0]|0)break;ah((k[Q+16>>2]|0)+200|0,31224,-1,1,0)|0}while(0);mr(a,c)|0;o=c+38|0;f=j[o>>1]|0;if(f<<16>>16<=0)break a;p=(d|0)==0;e=d+4|0;t=0;h=0;b=k[c+4>>2]|0;while(1){n=b+23|0;if(!(i[n>>0]&2)){Bh(Q,25,t-h|0,1,0)|0;g=k[b>>2]|0;Ch(Q,Bh(Q,97,0,2,0)|0,g,0);g=k[b+12>>2]|0;Ch(Q,Bh(Q,97,0,3,0)|0,(g|0)==0?10360:g,0);Bh(Q,25,(i[b+20>>0]|0)!=0&1,4,0)|0;g=k[b+8>>2]|0;if(!g)Bh(Q,28,0,5,0)|0;else Ch(Q,Bh(Q,97,0,5,0)|0,g,0);d=i[n>>0]&1;e:do if(d<<24>>24==0|p)g=(d^1)&255^1;else{g=j[o>>1]|0;if(g<<16>>16<1){g=1;break}f=k[e>>2]|0;n=g<<16>>16;d=1;while(1){g=d+1|0;if((j[f+(d+-1<<1)>>1]|0)==(t|0)){g=d;break e}if((d|0)<(n|0))d=g;else break}}while(0);Bh(Q,25,g,6,0)|0;Bh(Q,35,1,6,0)|0;f=j[o>>1]|0}else h=h+1|0;t=t+1|0;if((t|0)>=(f<<16>>16|0))break;else b=b+24|0}break}case 19:{d=k[k[(k[z+(N<<4)+4>>2]|0)+4>>2]>>2]|0;D=x;k[D>>2]=-2;k[D+4>>2]=-1;if(R){oi(R,x)|0;f=x;e=k[f>>2]|0;f=k[f+4>>2]|0;if((f|0)<-1|(f|0)==-1&e>>>0<4294967295){e=x;k[e>>2]=-1;k[e+4>>2]=-1;e=-1;f=-1}D=d+160|0;k[D>>2]=e;k[D+4>>2]=f;d=k[d+208>>2]|0;if(d){D=d+16|0;k[D>>2]=e;k[D+4>>2]=f}}else{f=d+160|0;e=k[f>>2]|0;f=k[f+4>>2]|0}D=x;k[D>>2]=e;k[D+4>>2]=f;Ot(a,30952,e,f);break a}case 28:{g=Tq(a)|0;nq(g,4);k[P>>2]=4;Fr(a,N);if((((i[(k[g>>2]|0)+65>>0]|0)==0?(ah(k[g+16>>2]|0,31232,-1,1,0)|0,(i[(k[g>>2]|0)+65>>0]|0)==0):0)?(ah((k[g+16>>2]|0)+40|0,20632,-1,1,0)|0,(i[(k[g>>2]|0)+65>>0]|0)==0):0)?(ah((k[g+16>>2]|0)+80|0,31240,-1,1,0)|0,(i[(k[g>>2]|0)+65>>0]|0)==0):0)ah((k[g+16>>2]|0)+120|0,31248,-1,1,0)|0;e=k[(k[z+(N<<4)+12>>2]|0)+16>>2]|0;if(!e)break a;do{f=k[e+8>>2]|0;D=k[f>>2]|0;Ch(g,Bh(g,97,0,1,0)|0,D,0);Bh(g,28,0,2,0)|0;D=$s(j[f+42>>1]|0)|0;Bh(g,25,D,3,0)|0;D=$s(j[f+28>>1]|0)|0;Bh(g,25,D,4,0)|0;Bh(g,35,1,4,0)|0;f=k[f+8>>2]|0;if(f)do{D=k[f>>2]|0;Ch(g,Bh(g,97,0,2,0)|0,D,0);D=$s(j[f+44>>1]|0)|0;Bh(g,25,D,3,0)|0;D=$s(j[k[f+8>>2]>>1]|0)|0;Bh(g,25,D,4,0)|0;Bh(g,35,1,4,0)|0;f=k[f+20>>2]|0}while((f|0)!=0);e=k[e>>2]|0}while((e|0)!=0);break}case 15:{if(!R)break a;n=gq(T,R,I)|0;if(!n)break a;t=(k[30128+(t*12|0)>>2]|0)==0;o=n+46|0;D=t?3:6;h=j[(t?o:n+48|0)>>1]|0;p=h&65535;k[P>>2]=D;g=k[n+12>>2]|0;nq(Q,D);Fr(a,N);if(((i[(k[Q>>2]|0)+65>>0]|0)==0?(ah(k[Q+16>>2]|0,31256,-1,1,0)|0,(i[(k[Q>>2]|0)+65>>0]|0)==0):0)?(ah((k[Q+16>>2]|0)+40|0,31176,-1,1,0)|0,(i[(k[Q>>2]|0)+65>>0]|0)==0):0)ah((k[Q+16>>2]|0)+80|0,31184,-1,1,0)|0;if(((!t?(i[(k[Q>>2]|0)+65>>0]|0)==0:0)?(ah((k[Q+16>>2]|0)+120|0,31264,-1,1,0)|0,(i[(k[Q>>2]|0)+65>>0]|0)==0):0)?(ah((k[Q+16>>2]|0)+160|0,31272,-1,1,0)|0,(i[(k[Q>>2]|0)+65>>0]|0)==0):0)ah((k[Q+16>>2]|0)+200|0,31280,-1,1,0)|0;if(!(h<<16>>16))break a;f=n+4|0;e=n+28|0;d=n+32|0;n=g+4|0;g=0;do{D=j[(k[f>>2]|0)+(g<<1)>>1]|0;Bh(Q,25,g,1,0)|0;h=D<<16>>16;Bh(Q,25,h,2,0)|0;if(D<<16>>16<0)Bh(Q,28,0,3,0)|0;else{D=k[(k[n>>2]|0)+(h*24|0)>>2]|0;Ch(Q,Bh(Q,97,0,3,0)|0,D,0)}if(!t){Bh(Q,25,l[(k[e>>2]|0)+g>>0]|0,4,0)|0;D=k[(k[d>>2]|0)+(g<<2)>>2]|0;Ch(Q,Bh(Q,97,0,5,0)|0,D,0);Bh(Q,25,(g|0)<(m[o>>1]|0)&1,6,0)|0}Bh(Q,35,1,k[P>>2]|0,0)|0;g=g+1|0}while((g|0)<(p|0));break}case 5:{if(!R)break a;D=(ni(R,1,0)|0)<<24>>24!=0;C=D?32e3:19240;Vh(T,19248,2,1,C,40,0,0,0)|0;Vh(T,19248,3,1,C,40,0,0,0)|0;Vh(T,19232,2,1,10352,40,0,0,0)|0;Tt(T,19232,12);Tt(T,19248,D?12:4);break a}case 17:{b=i[S>>0]|0;x=(k[c>>2]|0)==0?-1:N;k[P>>2]=6;nq(Q,1);if(!(i[(k[Q>>2]|0)+65>>0]|0))ah(k[Q+16>>2]|0,31464,-1,1,0)|0;k[w>>2]=100;if(R){In(R,w)|0;n=k[w>>2]|0;if((n|0)<1){k[w>>2]=100;n=100}}else n=100;Bh(Q,25,n,1,0)|0;J=T+20|0;t=k[J>>2]|0;if((t|0)>0){I=(x|0)<0;f=Q+32|0;F=Q+4|0;E=Q+24|0;K=(b&-33)<<24>>24==81;L=0;do{if(I|(L|0)==(x|0)){Fr(a,L);t=Bh(Q,137,1,0,0)|0;Bh(Q,24,0,0,0)|0;e=k[f>>2]|0;if(e>>>0>t>>>0)k[(k[F>>2]|0)+(t*20|0)+8>>2]=e;k[(k[E>>2]|0)+88>>2]=e+-1;d=(k[(k[O>>2]|0)+(L<<4)+12>>2]|0)+16|0;t=k[d>>2]|0;if(!t)b=0;else{b=0;do{e=k[t+8>>2]|0;if(!(i[e+44>>0]&32)){Bh(Q,25,k[e+32>>2]|0,b+2|0,0)|0;b=b+1|0}e=k[e+8>>2]|0;if(e)do{Bh(Q,25,k[e+40>>2]|0,b+2|0,0)|0;b=b+1|0;e=k[e+20>>2]|0}while((e|0)!=0);t=k[t>>2]|0}while((t|0)!=0)}z=k[P>>2]|0;t=b+8|0;k[P>>2]=(z|0)>(t|0)?z:t;Bh(Q,127,2,b,1)|0;t=k[F>>2]|0;if(t)i[t+(((k[f>>2]|0)+-1|0)*20|0)+3>>0]=L;b=Bh(Q,76,2,0,0)|0;k[D>>2]=k[(k[O>>2]|0)+(L<<4)>>2];t=zh(T,31480,D)|0;Ch(Q,Bh(Q,97,0,3,0)|0,t,-1);Bh(Q,32,2,4,1)|0;Bh(Q,94,4,3,2)|0;Bh(Q,35,2,1,0)|0;t=k[f>>2]|0;if(t>>>0>b>>>0)k[(k[F>>2]|0)+(b*20|0)+8>>2]=t;k[(k[E>>2]|0)+88>>2]=t+-1;t=k[d>>2]|0;if(!((t|0)==0|K))do{u=k[t+8>>2]|0;G=u+8|0;b=k[G>>2]|0;do if(b){f:do if(!(i[u+44>>0]&32))b=0;else while(1){if((i[b+51>>0]&3)==2)break f;b=k[b+20>>2]|0;if(!b){b=0;break}}while(0);e=Bh(Q,137,1,0,0)|0;Bh(Q,24,0,0,0)|0;d=k[f>>2]|0;if(d>>>0>e>>>0)k[(k[F>>2]|0)+(e*20|0)+8>>2]=d;k[(k[E>>2]|0)+88>>2]=d+-1;ft(a);ut(a,u,54,1,0,A,B)|0;Bh(Q,25,0,7,0)|0;d=k[G>>2]|0;if(!d)e=8;else{e=0;while(1){Bh(Q,25,0,e+8|0,0)|0;d=k[d+20>>2]|0;if(!d)break;else e=e+1|0}e=e+9|0}H=k[P>>2]|0;k[P>>2]=(H|0)>(e|0)?H:e;Bh(Q,108,k[A>>2]|0,0,0)|0;H=Bh(Q,37,7,1,0)|0;p=u+38|0;e=j[p>>1]|0;if(e<<16>>16>0){c=u+36|0;q=u+4|0;o=0;do{do if((o|0)!=(j[c>>1]|0)){if(!(i[(k[q>>2]|0)+(o*24|0)+20>>0]|0))break;st(Q,u,k[A>>2]|0,o,3);e=k[F>>2]|0;if(e)i[e+(((k[f>>2]|0)+-1|0)*20|0)+3>>0]=-128;e=Bh(Q,77,3,0,0)|0;Bh(Q,37,1,-1,0)|0;g=k[(k[q>>2]|0)+(o*24|0)>>2]|0;k[D>>2]=k[u>>2];k[D+4>>2]=g;g=zh(T,31504,D)|0;Ch(Q,Bh(Q,97,0,3,0)|0,g,-1);Bh(Q,35,3,1,0)|0;g=Bh(Q,137,1,0,0)|0;Bh(Q,24,0,0,0)|0;h=k[f>>2]|0;if(h>>>0>e>>>0)k[(k[F>>2]|0)+(e*20|0)+8>>2]=h;e=h+-1|0;d=(k[E>>2]|0)+88|0;k[d>>2]=e;if(h>>>0>g>>>0)k[(k[F>>2]|0)+(g*20|0)+8>>2]=h;k[d>>2]=e;e=j[p>>1]|0}while(0);o=o+1|0}while((o|0)<(e<<16>>16|0))}e=k[G>>2]|0;if(e){w=u+4|0;v=0;h=0;d=-1;while(1){g=Cs(Q)|0;if((b|0)!=(e|0)){d=Ut(a,e,k[A>>2]|0,0,0,C,h,d)|0;Bh(Q,37,v+8|0,1,0)|0;u=m[e+48>>1]|0;g=Bh(Q,69,(k[B>>2]|0)+v|0,g,d)|0;Ch(Q,g,u,-14);Bh(Q,37,1,-1,0)|0;Ch(Q,Bh(Q,97,0,3,0)|0,31528,-2);Bh(Q,94,7,3,3)|0;Ch(Q,Bh(Q,97,0,4,0)|0,31536,-2);Bh(Q,94,4,3,3)|0;u=k[e>>2]|0;q=Bh(Q,97,0,4,0)|0;Ch(Q,q,u,0);Bh(Q,94,4,3,3)|0;Bh(Q,35,3,1,0)|0;u=Bh(Q,137,1,0,0)|0;Bh(Q,24,0,0,0)|0;h=k[f>>2]|0;if(h>>>0>g>>>0)k[(k[F>>2]|0)+(g*20|0)+8>>2]=h;g=k[E>>2]|0;k[g+88>>2]=h+-1;if(i[e+50>>0]|0){c=Cs(Q)|0;p=e+46|0;g=j[p>>1]|0;if(g<<16>>16){o=e+4|0;h=0;do{if(!(i[(k[w>>2]|0)+((j[(k[o>>2]|0)+(h<<1)>>1]|0)*24|0)+20>>0]|0)){Bh(Q,76,h+d|0,c,0)|0;g=j[p>>1]|0}h=h+1|0}while((h|0)<(g&65535|0))}g=Bh(Q,9,(k[B>>2]|0)+v|0,0,0)|0;Bh(Q,16,0,c,0)|0;h=k[f>>2]|0;if(h>>>0>g>>>0)k[(k[F>>2]|0)+(g*20|0)+8>>2]=h;k[(k[E>>2]|0)+88>>2]=h+-1;g=m[p>>1]|0;Ch(Q,Bh(Q,114,(k[B>>2]|0)+v|0,c,d)|0,g,-14);Bh(Q,37,1,-1,0)|0;Ch(Q,Bh(Q,97,0,3,0)|0,31560,-2);Bh(Q,16,0,q,0)|0;g=k[E>>2]|0;o=~c;do if((c|0)<0){h=k[g+112>>2]|0;if(!h)break;k[h+(o<<2)>>2]=k[f>>2]}while(0);h=k[f>>2]|0;k[g+88>>2]=h+-1}if(h>>>0>u>>>0)k[(k[F>>2]|0)+(u*20|0)+8>>2]=h;k[g+88>>2]=h+-1;Vt(a,k[C>>2]|0);h=e}e=k[e+20>>2]|0;if(!e)break;else v=v+1|0}}Bh(Q,9,k[A>>2]|0,H,0)|0;e=H+-1|0;d=k[f>>2]|0;if(d>>>0>e>>>0)k[(k[F>>2]|0)+(e*20|0)+8>>2]=d;k[(k[E>>2]|0)+88>>2]=d+-1;Ch(Q,Bh(Q,97,0,2,0)|0,31592,-2);e=k[G>>2]|0;if(!e)break;else g=0;while(1){if((b|0)!=(e|0)){d=k[f>>2]|0;Bh(Q,137,1,d+2|0,0)|0;Bh(Q,24,0,0,0)|0;Bh(Q,50,(k[B>>2]|0)+g|0,3,0)|0;Bh(Q,79,g+8|0,d+8|0,3)|0;d=k[F>>2]|0;if(d)i[d+(((k[f>>2]|0)+-1|0)*20|0)+3>>0]=-112;Bh(Q,37,1,-1,0)|0;z=k[e>>2]|0;Ch(Q,Bh(Q,97,0,3,0)|0,z,0);Bh(Q,94,3,2,7)|0;Bh(Q,35,7,1,0)|0}e=k[e+20>>2]|0;if(!e)break;else g=g+1|0}}while(0);t=k[t>>2]|0}while((t|0)!=0);t=k[J>>2]|0}L=L+1|0}while((L|0)<(t|0))}else f=Q+32|0;e=Dh(Q,3,31448)|0;f=k[f>>2]|0;if(f>>>0>e>>>0){k[(k[Q+4>>2]|0)+(e*20|0)+12>>2]=0-n;k[(k[Q+4>>2]|0)+(e*20|0)+8>>2]=f}k[(k[Q+24>>2]|0)+88>>2]=f+-1;Ch(Q,e+1|0,31624,-2);break a}case 21:{do if(R){if(id(R,30904)|0)if(!(id(R,30896)|0))d=0;else{M=66;break}else d=1;if(!(k[y>>2]|0)){n=k[T+20>>2]|0;if((n|0)>2){g=k[O>>2]|0;f=d&255;h=2;do{e=k[k[(k[g+(h<<4)+4>>2]|0)+4>>2]>>2]|0;do if(!(i[e+12>>0]|0)){D=k[e+208>>2]|0;if((D|0)!=0?(i[D+43>>0]|0)==2:0)break;i[e+4>>0]=f}while(0);h=h+1|0}while((h|0)<(n|0))}else f=d&255;i[T+66>>0]=f;M=74}else M=74}else M=66;while(0);if((M|0)==66)if(!(k[y>>2]|0))e=T+66|0;else{d=-1;M=74}if((M|0)==74){f=k[k[(k[z+(N<<4)+4>>2]|0)+4>>2]>>2]|0;do if((d|0)>-1?(i[f+12>>0]|0)==0:0){D=k[f+208>>2]|0;if((D|0)!=0?(i[D+43>>0]|0)==2:0)break;i[f+4>>0]=d}while(0);e=f+4|0}e=(i[e>>0]|0)==1?30904:30896;nq(Q,1);if(!(i[(k[Q>>2]|0)+65>>0]|0))ah(k[Q+16>>2]|0,30920,-1,1,0)|0;Ch(Q,Bh(Q,97,0,1,0)|0,e,0);Bh(Q,35,1,1,0)|0;break a}case 9:{nq(Q,3);k[P>>2]=3;if(((i[(k[Q>>2]|0)+65>>0]|0)==0?(ah(k[Q+16>>2]|0,31288,-1,1,0)|0,(i[(k[Q>>2]|0)+65>>0]|0)==0):0)?(ah((k[Q+16>>2]|0)+40|0,31184,-1,1,0)|0,(i[(k[Q>>2]|0)+65>>0]|0)==0):0)ah((k[Q+16>>2]|0)+80|0,31352,-1,1,0)|0;e=T+20|0;f=k[e>>2]|0;if((f|0)>0)g=0;else break a;do{if(k[(k[O>>2]|0)+(g<<4)+4>>2]|0){Bh(Q,25,g,1,0)|0;d=k[(k[O>>2]|0)+(g<<4)>>2]|0;Ch(Q,Bh(Q,97,0,2,0)|0,d,0);d=k[k[(k[(k[O>>2]|0)+(g<<4)+4>>2]|0)+4>>2]>>2]|0;if(!(i[d+15>>0]|0))d=k[d+168>>2]|0;else d=10360;Ch(Q,Bh(Q,97,0,3,0)|0,d,0);Bh(Q,35,1,3,0)|0;f=k[e>>2]|0}g=g+1|0}while((g|0)<(f|0));break}case 6:{nq(Q,2);k[P>>2]=2;if((i[(k[Q>>2]|0)+65>>0]|0)==0?(ah(k[Q+16>>2]|0,31288,-1,1,0)|0,(i[(k[Q>>2]|0)+65>>0]|0)==0):0)ah((k[Q+16>>2]|0)+40|0,31184,-1,1,0)|0;f=k[T+436>>2]|0;if(!f)break a;else e=0;while(1){D=k[f+8>>2]|0;Bh(Q,25,e,1,0)|0;D=k[D>>2]|0;Ch(Q,Bh(Q,97,0,2,0)|0,D,0);Bh(Q,35,1,2,0)|0;f=k[f>>2]|0;if(!f)break;else e=e+1|0}break}case 13:{if(!R)break a;d=di(T,R,I)|0;if(!d)break a;b=Tq(a)|0;g=k[d+16>>2]|0;if(!g)break a;nq(b,8);k[P>>2]=8;Fr(a,N);do if((((i[(k[b>>2]|0)+65>>0]|0)==0?(ah(k[b+16>>2]|0,31360,-1,1,0)|0,(i[(k[b>>2]|0)+65>>0]|0)==0):0)?(ah((k[b+16>>2]|0)+40|0,31288,-1,1,0)|0,(i[(k[b>>2]|0)+65>>0]|0)==0):0)?(ah((k[b+16>>2]|0)+80|0,31232,-1,1,0)|0,(i[(k[b>>2]|0)+65>>0]|0)==0):0){ah((k[b+16>>2]|0)+120|0,31368,-1,1,0)|0;if(i[(k[b>>2]|0)+65>>0]|0)break;ah((k[b+16>>2]|0)+160|0,31376,-1,1,0)|0;if(i[(k[b>>2]|0)+65>>0]|0)break;ah((k[b+16>>2]|0)+200|0,31384,-1,1,0)|0;if(i[(k[b>>2]|0)+65>>0]|0)break;ah((k[b+16>>2]|0)+240|0,31400,-1,1,0)|0;if(i[(k[b>>2]|0)+65>>0]|0)break;ah((k[b+16>>2]|0)+280|0,31416,-1,1,0)|0}while(0);q=d+4|0;t=0;while(1){d=g+20|0;if((k[d>>2]|0)>0){f=g+25|0;e=g+26|0;o=g+8|0;c=0;do{p=k[g+(c<<3)+40>>2]|0;n=l[f>>0]|0;if((n|0)==8)h=32072;else if((n|0)==9)h=32088;else if((n|0)==6)h=32096;else if((n|0)==7)h=32056;else h=32112;n=l[e>>0]|0;if((n|0)==8)n=32072;else if((n|0)==9)n=32088;else if((n|0)==6)n=32096;else if((n|0)==7)n=32056;else n=32112;Bh(b,25,t,1,0)|0;Bh(b,25,c,2,0)|0;D=k[o>>2]|0;Ch(b,Bh(b,97,0,3,0)|0,D,0);D=k[(k[q>>2]|0)+((k[g+(c<<3)+36>>2]|0)*24|0)>>2]|0;Ch(b,Bh(b,97,0,4,0)|0,D,0);Ch(b,Bh(b,(p|0)!=0?97:28,0,5,0)|0,p,0);Ch(b,Bh(b,97,0,6,0)|0,n,0);Ch(b,Bh(b,97,0,7,0)|0,h,0);Ch(b,Bh(b,97,0,8,0)|0,31424,0);Bh(b,35,1,8,0)|0;c=c+1|0}while((c|0)<(k[d>>2]|0))}g=k[g+4>>2]|0;if(!g)break;else t=t+1|0}break}case 12:{b=k[P>>2]|0;E=b+1|0;F=b+5|0;G=b+6|0;k[P>>2]=G;H=Tq(a)|0;nq(H,4);if((((i[(k[H>>2]|0)+65>>0]|0)==0?(ah(k[H+16>>2]|0,31232,-1,1,0)|0,(i[(k[H>>2]|0)+65>>0]|0)==0):0)?(ah((k[H+16>>2]|0)+40|0,20456,-1,1,0)|0,(i[(k[H>>2]|0)+65>>0]|0)==0):0)?(ah((k[H+16>>2]|0)+80|0,31432,-1,1,0)|0,(i[(k[H>>2]|0)+65>>0]|0)==0):0)ah((k[H+16>>2]|0)+120|0,31440,-1,1,0)|0;Fr(a,N);t=k[(k[(k[O>>2]|0)+(N<<4)+12>>2]|0)+16>>2]|0;if(!t)break a;p=(R|0)==0;c=a+68|0;q=H+32|0;A=H+4|0;B=H+24|0;C=b+2|0;D=b+3|0;x=b+4|0;o=a+8|0;while(1){if(p){y=k[t>>2]|0;z=k[t+8>>2]|0}else{y=0;z=xh(a,0,R,I)|0}if((z|0)!=0?(J=z+16|0,(k[J>>2]|0)!=0):0){ls(a,N,k[z+32>>2]|0,0,k[z>>2]|0);b=(j[z+38>>1]|0)+G|0;if((b|0)>(k[P>>2]|0))k[P>>2]=b;Vq(a,0,N,z,54);t=k[z>>2]|0;Ch(H,Bh(H,97,0,E,0)|0,t,0);t=k[J>>2]|0;if(!t)b=1;else{b=1;do{e=di(T,k[t+8>>2]|0,I)|0;do if(e){k[L>>2]=0;ls(a,N,k[e+32>>2]|0,0,k[e>>2]|0);if(Rt(a,e,t,L,0)|0)break a;f=k[L>>2]|0;if(!f){Vq(a,b,N,e,54);break}else{Bh(H,54,b,k[f+40>>2]|0,N)|0;w=k[o>>2]|0;Ch(w,-1,ms(a,f)|0,-6);break}}while(0);b=b+1|0;t=k[t+4>>2]|0}while((t|0)!=0)}if((k[c>>2]|0)<(b|0))k[c>>2]=b;n=Bh(H,108,0,0,0)|0;b=k[J>>2]|0;if(b){w=z+36|0;v=1;while(1){u=b+8|0;t=di(T,k[u>>2]|0,I)|0;k[L>>2]=0;k[K>>2]=0;h=(t|0)!=0;do if(h){Rt(a,t,b,L,K)|0;e=k[L>>2]|0;f=Cs(H)|0;if(!(h&(e|0)==0)){t=f;M=306;break}t=k[b+36>>2]|0;if((t|0)==(j[w>>1]|0))Bh(H,103,0,G,0)|0;else{Bh(H,47,0,t,G)|0;St(H,z,t,G);Bh(H,76,G,f,0)|0;Bh(H,38,G,(k[q>>2]|0)+3|0,0)|0}Bh(H,70,v,0,G)|0;Bh(H,16,0,f,0)|0;t=k[q>>2]|0;if(t>>>0>1)k[(k[A>>2]|0)+((t+-2|0)*20|0)+8>>2]=t;k[(k[B>>2]|0)+88>>2]=t+-1;t=f}else{t=Cs(H)|0;e=0;M=306}while(0);do if((M|0)==306){M=0;g=b+20|0;f=k[g>>2]|0;if((f|0)>0){d=0;do{f=k[K>>2]|0;if(!f)f=b+(d<<3)+36|0;else f=f+(d<<2)|0;O=d+G|0;st(H,z,0,k[f>>2]|0,O);Bh(H,76,O,t,0)|0;d=d+1|0;f=k[g>>2]|0}while((d|0)<(f|0))}if(!h)break;d=tt(H,e)|0;e=k[g>>2]|0;Ch(H,Bh(H,49,G,f,F)|0,d,e);Ch(H,Bh(H,69,v,t,F)|0,0,-14)}while(0);Bh(H,103,0,C,0)|0;e=k[u>>2]|0;Ch(H,Bh(H,97,0,D,0)|0,e,0);Bh(H,25,v+-1|0,x,0)|0;Bh(H,35,E,4,0)|0;e=k[B>>2]|0;f=~t;do if((t|0)<0){t=k[e+112>>2]|0;if(!t)break;k[t+(f<<2)>>2]=k[q>>2]}while(0);k[e+88>>2]=(k[q>>2]|0)+-1;rg(T,k[K>>2]|0);b=k[b+4>>2]|0;if(!b)break;else v=v+1|0}}Bh(H,9,0,n+1|0,0)|0;b=k[q>>2]|0;if(b>>>0>n>>>0)k[(k[A>>2]|0)+(n*20|0)+8>>2]=b;k[(k[B>>2]|0)+88>>2]=b+-1}if(!y)break;else t=y}break}case 11:{if(!R){if(Ln(a)|0)break a;nq(Q,1);if(!(i[(k[Q>>2]|0)+65>>0]|0))ah(k[Q+16>>2]|0,31784,-1,1,0)|0;Bh(Q,97,0,1,0)|0;Ch(Q,-1,k[31632+(l[(k[a>>2]|0)+62>>0]<<3)>>2]|0,-2);Bh(Q,35,1,1,0)|0;break a}d=k[(k[O>>2]|0)+12>>2]|0;if((j[d+78>>1]&5)==1)break a;else{f=31632;e=31704}do{if(!(id(R,e)|0)){q=f;M=415;break}f=f+8|0;e=k[f>>2]|0}while((e|0)!=0);if((M|0)==415?(C=i[q+4>>0]|0,C=C<<24>>24==0?2:C,i[T+62>>0]=C,i[d+77>>0]=C,(k[q>>2]|0)!=0):0)break a;k[D>>2]=R;yh(a,31800,D);break a}case 0:{n=k[30128+(t*12|0)>>2]|0;C=Q+96|0;k[C>>2]=k[C>>2]|1<<N;if((R|0)!=0?!((t|0)==11|(t|0)==20):0){f=Dh(Q,3,31832)|0;d=Q+32|0;if((k[d>>2]|0)>>>0>f>>>0)k[(k[Q+4>>2]|0)+(f*20|0)+4>>2]=N;e=f+1|0;k[D>>2]=0;In(R,D)|0;d=k[d>>2]|0;if(d>>>0>e>>>0)k[(k[Q+4>>2]|0)+(e*20|0)+4>>2]=k[D>>2];f=f+2|0;if(d>>>0<=f>>>0)break a;k[(k[Q+4>>2]|0)+(f*20|0)+4>>2]=N;k[(k[Q+4>>2]|0)+(f*20|0)+8>>2]=n;break a}f=Dh(Q,3,31848)|0;d=k[Q+32>>2]|0;if(d>>>0>f>>>0)k[(k[Q+4>>2]|0)+(f*20|0)+4>>2]=N;f=f+1|0;if(d>>>0>f>>>0){k[(k[Q+4>>2]|0)+(f*20|0)+4>>2]=N;k[(k[Q+4>>2]|0)+(f*20|0)+12>>2]=n}nq(Q,1);if(i[(k[Q>>2]|0)+65>>0]|0)break a;ah(k[Q+16>>2]|0,S,-1,1,-1)|0;break a}case 7:{nq(Q,1);k[P>>2]=1;if(!(i[(k[Q>>2]|0)+65>>0]|0)){ah(k[Q+16>>2]|0,31864,-1,1,0)|0;e=0}else e=0;do{D=k[8648+(e<<2)>>2]|0;e=e+1|0;Ch(Q,Bh(Q,97,0,1,0)|0,D,0);Bh(Q,35,1,1,0)|0}while((e|0)!=4);break}case 35:{f=(k[c>>2]|0)!=0?N:10;if(R)if(id(R,31880)|0)if(!(id(R,31888)|0))e=2;else{e=(id(R,31896)|0)==0;e=e?3:0}else e=1;else e=0;nq(Q,3);k[P>>2]=3;if(((i[(k[Q>>2]|0)+65>>0]|0)==0?(ah(k[Q+16>>2]|0,31912,-1,1,0)|0,(i[(k[Q>>2]|0)+65>>0]|0)==0):0)?(ah((k[Q+16>>2]|0)+40|0,31920,-1,1,0)|0,(i[(k[Q>>2]|0)+65>>0]|0)==0):0)ah((k[Q+16>>2]|0)+80|0,31928,-1,1,0)|0;Bh(Q,11,f,e,1)|0;Bh(Q,35,1,3,0)|0;break a}case 26:{tf(T)|0;break a}case 34:{if(!R)e=k[T+216>>2]|0;else{k[D>>2]=0;In(R,D)|0;e=k[D>>2]|0;if((e|0)>0)f=21;else{e=0;f=0}k[T+216>>2]=f;k[T+220>>2]=e;e=f}if((e|0)==21){e=k[T+220>>2]|0;f=e;e=((e|0)<0)<<31>>31}else{f=0;e=0}Ot(a,31944,f,e);break a}case 27:{if((R|0)!=0?(oi(R,u)|0)==0:0){D=u;Uc(k[D>>2]|0,k[D+4>>2]|0)|0}C=(Qc()|0)==0;D=9032;Ot(a,31976,C?k[D>>2]|0:-1,C?k[D+4>>2]|0:-1);break a}case 33:{if((R|0)!=0?(B=(oi(R,n)|0)==0,D=n,C=k[D+4>>2]|0,B&((C|0)>-1|(C|0)==-1&(k[D>>2]|0)>>>0>4294967295)):0)k[T+132>>2]=0;D=k[T+132>>2]|0;Ot(a,31992,D,((D|0)<0)<<31>>31);break a}case 16:{if(!R)break a;d=di(T,R,I)|0;if(!d)break a;g=Tq(a)|0;nq(g,5);k[P>>2]=5;Fr(a,N);if(((((i[(k[g>>2]|0)+65>>0]|0)==0?(ah(k[g+16>>2]|0,31288,-1,1,0)|0,(i[(k[g>>2]|0)+65>>0]|0)==0):0)?(ah((k[g+16>>2]|0)+40|0,31184,-1,1,0)|0,(i[(k[g>>2]|0)+65>>0]|0)==0):0)?(ah((k[g+16>>2]|0)+80|0,31296,-1,1,0)|0,(i[(k[g>>2]|0)+65>>0]|0)==0):0)?(ah((k[g+16>>2]|0)+120|0,31304,-1,1,0)|0,(i[(k[g>>2]|0)+65>>0]|0)==0):0)ah((k[g+16>>2]|0)+160|0,31312,-1,1,0)|0;f=k[d+8>>2]|0;if(!f)break a;else e=0;while(1){Bh(g,25,e,1,0)|0;D=k[f>>2]|0;Ch(g,Bh(g,97,0,2,0)|0,D,0);Bh(g,25,(i[f+50>>0]|0)!=0&1,3,0)|0;D=k[31336+((i[f+51>>0]&3)<<2)>>2]|0;Ch(g,Bh(g,97,0,4,0)|0,D,0);Bh(g,25,(k[f+36>>2]|0)!=0&1,5,0)|0;Bh(g,35,1,5,0)|0;f=k[f+20>>2]|0;if(!f)break;else e=e+1|0}break}case 10:{g=1<<N;C=Q+96|0;k[C>>2]=k[C>>2]|g;if(R){k[D>>2]=0;In(R,D)|0;d=k[D>>2]|0;if((d|0)<=-1)d=(d|0)==-2147483648?2147483647:0-d|0;D=k[a+408>>2]|0;Fr(a,N);D=((D|0)==0?a:D)+328|0;k[D>>2]=k[D>>2]|g;Bh(Q,25,d,1,0)|0;Bh(Q,52,N,3,1)|0;k[(k[z+(N<<4)+12>>2]|0)+80>>2]=d;uq(k[z+(N<<4)+4>>2]|0,d);break a}nq(Q,1);if(!(i[(k[Q>>2]|0)+65>>0]|0))ah(k[Q+16>>2]|0,30848,-1,1,0)|0;k[P>>2]=(k[P>>2]|0)+2;d=Dh(Q,9,30808)|0;e=k[Q+32>>2]|0;if(e>>>0>d>>>0)k[(k[Q+4>>2]|0)+(d*20|0)+4>>2]=N;f=d+1|0;if(e>>>0>f>>>0)k[(k[Q+4>>2]|0)+(f*20|0)+4>>2]=N;f=d+6|0;if(e>>>0<=f>>>0)break a;k[(k[Q+4>>2]|0)+(f*20|0)+4>>2]=2e3;break a}case 2:{if(!R){Ot(a,b,(k[30128+(t*12|0)>>2]&k[T+24>>2]|0)!=0&1,0);break a}e=k[30128+(t*12|0)>>2]|0;e=(i[T+63>>0]|0)==0?e&-524289:e;if(!((ni(R,1,0)|0)<<24>>24)){D=T+24|0;k[D>>2]=k[D>>2]&~e;if((e|0)==16777216){D=T+512|0;k[D>>2]=0;k[D+4>>2]=0}}else{D=T+24|0;k[D>>2]=k[D>>2]|e}Bh(Q,144,0,0,0)|0;Qt(T);break a}default:{if(!R)e=k[T+492>>2]|0;else{k[D>>2]=0;In(R,D)|0;e=k[D>>2]|0;D=(e|0)>0;e=D?e:0;k[T+444>>2]=D?74:0;k[T+448>>2]=D?T:0;k[h>>2]=0;k[T+492>>2]=e}Ot(a,31968,e,((e|0)<0)<<31>>31);break a}}while(0)}else if(!b){d=k[g>>2]|0;if(!d)break;f=(k[P>>2]|0)+1|0;k[P>>2]=f;Ch(Q,Bh(Q,97,0,f,0)|0,d,0);nq(Q,1);if(!(i[(k[Q>>2]|0)+65>>0]|0))ah(k[Q+16>>2]|0,30112,-1,1,0)|0;Bh(Q,35,f,1,0)|0;$c(k[g>>2]|0);break}else{d=k[g>>2]|0;if(d){k[D>>2]=d;yh(a,10344,D);$c(k[g>>2]|0)}D=a+64|0;k[D>>2]=(k[D>>2]|0)+1;k[a+12>>2]=b;break}}while(0);rg(T,S);rg(T,R)}}while(0);r=U;return}function Lr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;if((r|0)>=(s|0))ka();e=f;a:do if(!b)b=0;else{d=b;while(1){if((i[d>>0]|0)==-121){b=k[a>>2]|0;if(!(i[(k[b>>2]|0)+145>>0]|0))break;i[d>>0]=101}b=k[d+4>>2]|0;if(b&16384){b=0;break a}c=d+20|0;if(!(b&2048)){if(Mr(a,k[c>>2]|0)|0){b=1;break a}}else if(kr(a,k[c>>2]|0)|0){b=1;break a}if(Lr(a,k[d+16>>2]|0)|0){b=1;break a}d=k[d+12>>2]|0;if(!d){b=0;break a}}k[e>>2]=k[a+16>>2];yh(b,29984,e);b=1}while(0);r=f;return b|0}function Mr(a,b){a=a|0;b=b|0;var c=0,d=0;a:do if((b|0)!=0?(k[b>>2]|0)>0:0){c=0;d=k[b+4>>2]|0;while(1){if(Lr(a,k[d>>2]|0)|0){c=1;break a}c=c+1|0;if((c|0)>=(k[b>>2]|0)){c=0;break}else d=d+20|0}}else c=0;while(0);return c|0}function Nr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;Ch(a,Bh(a,122,b,0,0)|0,c,-1);c=k[(k[a>>2]|0)+20>>2]|0;if((c|0)>0){d=a+96|0;b=k[d>>2]|0;a=0;do{b=b|1<<a;a=a+1|0}while((a|0)<(c|0));k[d>>2]=b}return}function Or(a,b){a=a|0;b=b|0;var c=0,d=0;c=b+8|0;d=Zr(a,0,c)|0;b=b+24|0;pg(k[a>>2]|0,k[b>>2]|0);k[b>>2]=d;if(d){b=d+40|0;j[b>>1]=(j[b>>1]|0)+1<<16>>16}c=(Wt(a,c)|0)==0;return (c?d:0)|0}function Pr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+16|0;if((r|0)>=(s|0))ka();j=l;a:do if((b|0)!=0?(e=k[a+12>>2]|0,(k[b>>2]|0)>0):0){f=a+8|0;g=a+4|0;h=0;i=b+8|0;while(1){if(!(k[f>>2]|0)){d=i+4|0;c=k[d>>2]|0;if((c|0)!=0?(id(c,e)|0)!=0:0)break;rg(k[k[a>>2]>>2]|0,c);k[d>>2]=0;k[i>>2]=k[g>>2]}if(kr(a,k[i+20>>2]|0)|0){c=1;break a}if(Lr(a,k[i+44>>2]|0)|0){c=1;break a}h=h+1|0;if((h|0)>=(k[b>>2]|0)){c=0;break a}else i=i+72|0}b=k[a>>2]|0;i=k[a+20>>2]|0;k[j>>2]=k[a+16>>2];k[j+4>>2]=i;k[j+8>>2]=c;yh(b,29936,j);c=1}else c=0;while(0);r=l;return c|0}function Qr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;d=r;r=r+16|0;if((r|0)>=(s|0))ka();c=d;e=k[a>>2]|0;if((((i[e+145>>0]|0)==0?(i[a+18>>0]|0)==0:0)?(k[e+24>>2]&2048|0)==0:0)?(Kc(b,25568,7)|0)==0:0){k[c>>2]=b;yh(a,28440,c);a=1}else a=0;r=d;return a|0}function Rr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0;v=r;r=r+16|0;if((r|0)>=(s|0))ka();u=v;do if(b){p=c&1;t=(d|0)!=0;if(t){e=k[d>>2]|0;n=32768}else{e=Xt(b,c)|0;e=rh(a,e,((e|0)<0)<<31>>31)|0;n=0}k[u>>2]=e;if(e){h=(p|0)==0;if(!h)if(!(k[b+12>>2]|0))m=(k[b+20>>2]|0)==0?16396:8220;else m=8220;else m=48;o=m&60;q=b+4|0;j=k[q>>2]|0;if((j&1024|0)==0?(f=k[b+8>>2]|0,(f|0)!=0):0){g=f;while(1)if(!(i[g>>0]|0))break;else g=g+1|0;l=(g-f&1073741823)+1|0}else l=0;if(h){if(!(j&16384))g=(j&8192|0)==0?48:28;else g=12;pw(e|0,b|0,g|0)|0;kw(e+g|0,0,48-g|0)|0}else pw(e|0,b|0,o|0)|0;j=e+4|0;f=m&24576|n|k[j>>2]&-122881;k[j>>2]=f;if(l){f=e+o|0;k[e+8>>2]=f;pw(f|0,k[b+8>>2]|0,l|0)|0;f=k[j>>2]|0}g=k[q>>2]|0;do if(!((f|g)&16384)){f=b+20|0;if(!(g&2048)){p=Ur(a,k[f>>2]|0,p)|0;k[e+20>>2]=p;break}else{p=lr(a,k[f>>2]|0,p)|0;k[e+20>>2]=p;break}}while(0);f=k[j>>2]|0;if(!(f&24576)){if(k[q>>2]&16384)break;p=Rr(a,k[b+12>>2]|0,0,0)|0;k[e+12>>2]=p;p=Rr(a,k[b+16>>2]|0,0,0)|0;k[e+16>>2]=p;break}p=Yt(b,c)|0;k[u>>2]=(k[u>>2]|0)+p;if(f&8192){p=Rr(a,k[b+12>>2]|0,1,u)|0;k[e+12>>2]=p;p=Rr(a,k[b+16>>2]|0,1,u)|0;k[e+16>>2]=p}if(t)k[d>>2]=k[u>>2]}}else e=0;while(0);r=v;return e|0}function Sr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;a:do if((b|0)!=0?(c=rh(a,8,0)|0,(c|0)!=0):0){f=b+4|0;k[c+4>>2]=k[f>>2];d=rh(a,k[f>>2]<<3,0)|0;k[c>>2]=d;if(!d){rg(a,c);c=0;break}if((k[f>>2]|0)>0){e=0;while(1){g=k[b>>2]|0;h=ph(a,k[g+(e<<3)>>2]|0)|0;k[d+(e<<3)>>2]=h;k[d+(e<<3)+4>>2]=k[g+(e<<3)+4>>2];e=e+1|0;if((e|0)>=(k[f>>2]|0))break a;d=k[c>>2]|0}}}else c=0;while(0);return c|0}function Tr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=c+4|0;e=(k[d>>2]|0)+40|0;a=rh(a,e,0)|0;if(a){kw(a|0,0,e|0)|0;e=a+40|0;pw(e|0,k[c>>2]|0,k[d>>2]|0)|0;k[a+12>>2]=e;k[a+16>>2]=k[d>>2];i[a>>0]=b}return a|0}function Ur(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;do if((b|0)!=0?(d=rh(a,8,0)|0,(d|0)!=0):0){e=k[b>>2]|0;k[d>>2]=e;if(!(c&1)){f=k[b>>2]|0;e=1;while(1)if((e|0)<(f|0))e=e<<1;else break}e=rh(a,e*20|0,0)|0;k[d+4>>2]=e;if(!e){rg(a,d);d=0;break}if((k[b>>2]|0)>0){g=0;f=k[b+4>>2]|0;while(1){h=Rr(a,k[f>>2]|0,c,0)|0;k[e>>2]=h;h=ph(a,k[f+4>>2]|0)|0;k[e+4>>2]=h;h=ph(a,k[f+8>>2]|0)|0;k[e+8>>2]=h;i[e+12>>0]=i[f+12>>0]|0;h=e+13|0;j=i[h>>0]|0;i[h>>0]=j&-2;i[h>>0]=i[f+13>>0]&2|j&-4;k[e+16>>2]=k[f+16>>2];g=g+1|0;if((g|0)>=(k[b>>2]|0))break;else{e=e+20|0;f=f+20|0}}}}else d=0;while(0);return d|0}function Vr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=r;r=r+16|0;if((r|0)>=(s|0))ka();h=m;i=k[a>>2]|0;e=k[b+20>>2]|0;a:do if(e){d=k[i+20>>2]|0;if((d|0)>0){c=k[i+16>>2]|0;g=0;while(1){f=g+1|0;if((k[c+(g<<4)+12>>2]|0)==(e|0)){f=g;break a}if((f|0)<(d|0))g=f;else break}}else f=0}else f=-1e6;while(0);c=gn((k[b+24>>2]|0)+8|0,k[b+4>>2]|0,h)|0;if(!c)e=0;else e=k[c+8>>2]|0;c=k[(k[i+16>>2]|0)+(f<<4)>>2]|0;d=(f|0)==1;if((((Xq(a,d?14:16,k[b>>2]|0,k[e>>2]|0,c)|0)==0?(Xq(a,9,d?13184:13208,0,c)|0)==0:0)?(j=Tq(a)|0,(j|0)!=0):0)?(l=k[a+408>>2]|0,Fr(a,f),l=((l|0)==0?a:l)+328|0,k[l>>2]=k[l>>2]|1<<f,os(a,f),l=Dh(j,9,29624)|0,Ch(j,l+1|0,k[b>>2]|0,0),Ch(j,l+4|0,10720,-2),Ir(a,f),Bh(j,61,0,0,0)|0,l=k[b>>2]|0,Ch(j,Bh(j,126,f,0,0)|0,l,0),l=a+72|0,(k[l>>2]|0)<3):0)k[l>>2]=3;r=m;return}function Wr(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+32|0;if((r|0)>=(s|0))ka();h=q;o=k[a>>2]|0;k[h+0>>2]=0;k[h+4>>2]=0;k[h+8>>2]=0;k[h+12>>2]=0;k[h+16>>2]=0;k[h+20>>2]=0;k[h+24>>2]=0;k[h+28>>2]=0;k[h>>2]=a;do if(e)if((i[e>>0]|0)!=27)if(!(qs(h,e)|0)){p=5;break}else{p=13;break}else{i[e>>0]=97;p=5;break}else p=5;while(0);a:do if((p|0)==5){do if(f)if((i[f>>0]|0)!=27)if(!(qs(h,f)|0))break;else{p=13;break a}else{i[f>>0]=97;break}while(0);do if(g)if((i[g>>0]|0)!=27)if(!(qs(h,g)|0))break;else{p=13;break a}else{i[g>>0]=97;break}while(0);if(d){if((i[d>>0]|0)==97)d=k[d+8>>2]|0;else d=0;if(Xq(a,b,d,0,0)|0)break}n=Tq(a)|0;h=a+60|0;d=k[h>>2]|0;l=a+56|0;m=k[l>>2]|0;if((m|0)<4){m=a+72|0;d=k[m>>2]|0;k[m>>2]=d+4;d=d+1|0}else{k[h>>2]=d+4;k[l>>2]=m+-4}Wq(a,e,d);Wq(a,f,d+1|0);Wq(a,g,d+2|0);if(n){d=d+3|0;Bh(n,1,0,d-(j[c>>1]|0)|0,d)|0;d=k[n+4>>2]|0;if(d)i[d+(((k[n+32>>2]|0)+-1|0)*20|0)+3>>0]=j[c>>1];Ch(n,-1,c,-5);Bh(n,144,(b|0)==24&1,0,0)|0}}while(0);if((p|0)==13){c=a+64|0;k[c>>2]=(k[c>>2]|0)+1}Lk(o,e);Lk(o,f);Lk(o,g);r=q;return}function Xr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+16|0;if((r|0)>=(s|0))ka();h=j;e=j+4|0;f=k[a>>2]|0;a:do if(!(Ln(a)|0)){if(!b){Zt(a,0);break}if(!((c|0)!=0?(k[c>>2]|0)!=0:0))d=6;do if((d|0)==6){d=$q(k[a>>2]|0,b)|0;if(!d)break a;if(!(bo(f,i[f+62>>0]|0,d,0)|0)){rg(f,d);break}else{Zt(a,d);rg(f,d);break a}}while(0);b=jr(a,b,c,e)|0;if((b|0)>=0?(g=$q(f,k[e>>2]|0)|0,(g|0)!=0):0){c=k[(k[f+16>>2]|0)+(b<<4)>>2]|0;d=di(f,g,c)|0;if(d){_t(a,d,0);rg(f,g);break}c=gq(f,g,c)|0;rg(f,g);if(!c){yh(a,28872,h);break}else{d=k[a+408>>2]|0;Fr(a,b);d=((d|0)==0?a:d)+328|0;k[d>>2]=k[d>>2]|1<<b;As(a,c,-1);break}}}while(0);r=j;return}function Yr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;if((r|0)>=(s|0))ka();e=g;f=k[a>>2]|0;if(!(Ln(a)|0)){do if(!b){b=f+20|0;d=k[b>>2]|0;if((d|0)>0){c=0;do{if((c|0)!=1){$t(a,c);d=k[b>>2]|0}c=c+1|0}while((c|0)<(d|0))}}else{if(k[c+4>>2]|0){d=jr(a,b,c,e)|0;if((d|0)<=-1)break;d=k[(k[f+16>>2]|0)+(d<<4)>>2]|0;b=$q(f,k[e>>2]|0)|0;if(!b)break;c=gq(f,b,d)|0;if(!c){d=xh(a,0,b,d)|0;if(d)au(a,d,0)}else au(a,k[c+12>>2]|0,c);rg(f,b);break}c=$q(f,b)|0;d=_h(f,c)|0;rg(f,c);if((d|0)>-1){$t(a,d);break}c=$q(f,b)|0;if(c){d=gq(f,c,0)|0;if(!d){d=xh(a,0,c,0)|0;if(d)au(a,d,0)}else au(a,k[d+12>>2]|0,d);rg(f,c)}}while(0);d=Tq(a)|0;if(d)Bh(d,144,0,0,0)|0}r=g;return}function Zr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;e=k[c>>2]|0;if(!e)d=c+4|0;else{h=k[a>>2]|0;f=k[h+20>>2]|0;h=k[h+16>>2]|0;a:do if((f|0)>0){g=0;while(1){d=g+1|0;if((k[h+(g<<4)+12>>2]|0)==(e|0)){d=g;break a}if((d|0)<(f|0))g=d;else break}}else d=0;while(0);d=h+(d<<4)|0}return xh(a,b,k[c+8>>2]|0,k[d>>2]|0)|0}function _r(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;if((r|0)>=(s|0))ka();d=e;if(b){c=b;while(1)if(!(i[c>>0]|0))break;else c=c+1|0;if((c-b&1073741823)>>>0>6?(Kc(b,25568,7)|0)==0:0){k[d>>2]=b;yh(a,25576,d);c=1}else c=0}else c=0;r=e;return c|0}function $r(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=r;r=r+16|0;if((r|0)>=(s|0))ka();d=e;if(!b){k[d>>2]=c;a=zh(a,25992,d)|0}else{k[d>>2]=b;k[d+4>>2]=c;d=zh(a,26e3,d)|0;rg(a,b);a=d}r=e;return a|0}function as(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;if((r|0)>=(s|0))ka();f=g;d=k[a>>2]|0;e=k[(k[d+16>>2]|0)+28>>2]|0;if((k[b+68>>2]|0)!=(e|0)?(c=Fs(a,b)|0,(c|0)!=0):0){b=c;c=0;do{if((k[b+20>>2]|0)==(e|0))c=$r(d,c,k[b>>2]|0)|0;b=k[b+32>>2]|0}while((b|0)!=0);if(c){b=k[a>>2]|0;k[f>>2]=c;b=zh(b,25968,f)|0;rg(k[a>>2]|0,c);c=b}else c=0}else c=0;r=g;return c|0}function bs(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+16|0;if((r|0)>=(s|0))ka();l=o;m=Tq(a)|0;if(m){d=k[a>>2]|0;g=k[b+68>>2]|0;a:do if(g){h=k[d+20>>2]|0;if((h|0)>0){e=k[d+16>>2]|0;f=0;while(1){d=f+1|0;if((k[e+(f<<4)+12>>2]|0)==(g|0))break a;if((d|0)<(h|0))f=d;else{f=d;break}}}else f=0}else f=-1e6;while(0);d=Fs(a,b)|0;if(d)do{e=k[a>>2]|0;i=k[d+20>>2]|0;b:do if(i){j=k[e+20>>2]|0;if((j|0)>0){h=k[e+16>>2]|0;g=0;while(1){e=g+1|0;if((k[h+(g<<4)+12>>2]|0)==(i|0)){e=g;break b}if((e|0)<(j|0))g=e;else break}}else e=0}else e=-1e6;while(0);j=k[d>>2]|0;Ch(m,Bh(m,126,e,0,0)|0,j,0);d=k[d+32>>2]|0}while((d|0)!=0);d=k[b>>2]|0;Ch(m,Bh(m,124,f,0,0)|0,d,0);d=k[a>>2]|0;k[l>>2]=c;d=zh(d,25952,l)|0;if((d|0)!=0?(Nr(m,f,d),n=as(a,b)|0,(n|0)!=0):0)Nr(m,1,n)}r=o;return}
function lh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,q=0,u=0,v=0,w=0,x=0,y=0.0,z=0,A=0.0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ja=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,pc=0,sc=0,tc=0,vc=0,xc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0,Oc=0,Pc=0,Qc=0,Rc=0,Sc=0,Tc=0,Uc=0,Vc=0,Wc=0,Xc=0,Yc=0,Zc=0,_c=0,ad=0,bd=0,cd=0,dd=0,ed=0,fd=0,jd=0,kd=0,nd=0,od=0,pd=0,qd=0,rd=0,sd=0,td=0,ud=0,vd=0,wd=0,xd=0,yd=0,zd=0,Ad=0,Bd=0,Cd=0,Dd=0,Ed=0,Fd=0,Gd=0,Hd=0,Id=0,Jd=0,Kd=0,Ld=0,Md=0,Nd=0,Od=0,Pd=0,Qd=0,Rd=0,Sd=0,Td=0,Ud=0,Vd=0,Wd=0,Xd=0,Yd=0,Zd=0,_d=0,$d=0,ae=0,be=0,ce=0,de=0,ee=0,fe=0,ge=0,he=0,ie=0,je=0,ke=0,le=0,me=0;ke=r;r=r+1040|0;if((r|0)>=(s|0))ka();ge=ke+400|0;Qc=ke+792|0;ad=ke+392|0;Yc=ke+788|0;Pd=ke+320|0;ed=ke+784|0;kd=ke+780|0;nd=ke+280|0;Kd=ke+680|0;Xc=ke+240|0;Nd=ke+200|0;Wc=ke+676|0;Tc=ke+672|0;Ld=ke+160|0;Rc=ke+644|0;qd=ke+152|0;Gd=ke+112|0;cd=ke+640|0;Id=ke+636|0;Uc=ke+632|0;rd=ke+628|0;xd=ke+624|0;td=ke+604|0;yd=ke+600|0;jd=ke+596|0;ud=ke+576|0;Pc=ke+840|0;zd=ke+572|0;Md=ke+104|0;Ad=ke+568|0;Zc=ke+564|0;_c=ke+96|0;Od=ke+88|0;Bd=ke+560|0;Cd=ke+556|0;Dd=ke+552|0;vd=ke+532|0;wd=ke+512|0;bd=ke+508|0;sd=ke+504|0;Vc=ke+488|0;Jd=ke+48|0;Sc=ke+456|0;Oc=ke+444|0;Hd=ke+8|0;pd=ke+440|0;Fd=ke+412|0;Ed=ke;tc=a+4|0;f=k[tc>>2]|0;he=k[a>>2]|0;Gc=i[he+62>>0]|0;Kc=a+8|0;v=k[Kc>>2]|0;je=he+32|0;c=je;d=k[c>>2]|0;c=k[c+4>>2]|0;ie=a+80|0;a:do if((k[ie>>2]|0)==7){u=he+65|0;v=a+44|0;e=d;b=0;g=0;d=0;ee=1317}else{k[ie>>2]=0;$d=a+136|0;k[$d>>2]=0;k[$d+4>>2]=0;$d=a+20|0;k[$d>>2]=0;k[he+452>>2]=0;zc=he+240|0;b:do if(!(k[zc>>2]|0)){Zd=he+292|0;if(k[Zd>>2]|0){e=k[a+124>>2]|0;b=he+300|0;u=k[b>>2]|0;if(!e)sc=b;else{sc=b;u=(e>>>0)%(u>>>0)|0}}else{sc=he+300|0;u=0}de=a+76|0;ce=he+65|0;Vd=he+296|0;pb=a+176|0;qb=a+184|0;rb=a+92|0;sb=he+80|0;tb=he+84|0;ub=Gc&255;vb=Gc<<24>>24==1;wb=he+88|0;xb=a+60|0;Wd=a+144|0;be=a+86|0;fe=a+44|0;yb=a+12|0;zb=Rc+4|0;Ab=Rc+16|0;Bb=Rc+12|0;Cb=Rc+25|0;Db=Rc+20|0;Eb=a+200|0;Fb=a+56|0;Xd=a+72|0;Gb=Gd+16|0;Hb=Gd+8|0;Ib=Gd+24|0;Jb=a+87|0;Yd=he+156|0;Kb=he+500|0;Lb=he+496|0;ae=he+63|0;Mb=he+488|0;Nb=he+504|0;Ob=he+512|0;Pb=he+70|0;Qb=he+24|0;Rb=he+20|0;Td=he+16|0;Sb=he+4|0;Ud=a+88|0;Tb=a+104|0;Ub=a+152|0;Vb=a+160|0;Wb=he+152|0;Xb=he+64|0;Yb=td+4|0;Zb=td+6|0;_b=td+8|0;$b=ud+4|0;ac=ud+8|0;bc=he+212|0;cc=he+208|0;dc=a+116|0;ec=vd+4|0;hc=vd+6|0;ic=vd+8|0;jc=Xc+8|0;kc=Xc+32|0;lc=Xc+24|0;mc=Xc+16|0;nc=Xc+12|0;pc=wd+4|0;T=wd+6|0;U=wd+8|0;X=nd+8|0;Y=nd+32|0;Z=nd+24|0;_=nd+12|0;$=nd+16|0;aa=he+164|0;ba=Vc+8|0;ca=Vc+4|0;da=he+145|0;ea=Vc+12|0;fa=Pd+4|0;ja=Pd+12|0;la=Pd+16|0;ma=Pd+20|0;na=Pd+24|0;oa=Pd+28|0;pa=Pd+8|0;qa=Pd+40|0;ra=Pd+44|0;sa=Pd+48|0;ta=Pd+52|0;ua=Pd+56|0;va=Pd+60|0;wa=Pd+64|0;xa=Pd+65|0;ya=he+128|0;za=a+28|0;Aa=a+36|0;Ba=a+32|0;Ca=a+196|0;Da=Sc+4|0;Ea=Sc+8|0;Fa=Jd+8|0;Ga=Jd+32|0;Ha=Jd+24|0;Ia=Sc+20|0;Ja=Sc+12|0;Ka=Sc+16|0;La=Sc+24|0;Ma=Oc+8|0;Na=Oc+4|0;Oa=he+148|0;Pa=he+176|0;Qa=he+72|0;Ra=he+67|0;Sa=Qc+20|0;Ta=Qc+24|0;Ua=Qc+4|0;Va=Qc+16|0;Wa=he+304|0;Xa=he+328|0;Ya=Hd+32|0;Za=Hd+8|0;_a=Hd+24|0;$a=he+308|0;ab=Fd+20|0;bb=he+69|0;_d=a+168|0;cb=nd+4|0;db=nd+8|0;eb=nd+12|0;fb=nd+16|0;gb=nd+20|0;hb=nd+24|0;ib=nd+25|0;jb=he+180|0;kb=Ld+32|0;lb=Ld+8|0;mb=Ld+12|0;nb=Ld+16|0;ob=Ld+24|0;R=0;S=0;b=0;n=0;g=k[de>>2]|0;q=0;c:while(1){e=d;d:while(1){if(i[ce>>0]|0){u=ce;v=fe;d=q;ee=1317;break a}d=b+1|0;if(!(i[f+(g*20|0)+2>>0]&2))I=n;else{n=k[f+(g*20|0)+8>>2]|0;b=v+(n*40|0)|0;n=v+(n*40|0)+8|0;if(j[n>>1]&9312)Ag(b);j[n>>1]=4;I=b}z=f+(g*20|0)|0;F=i[z>>0]|0;n=F&255;e:do switch(n|0){case 20:{b=d;d=e;ee=24;break d}case 21:{b=d;d=e;n=I;ee=25;break d}case 22:{b=d;d=e;n=I;ee=26;break d}case 23:{b=d;d=e;n=I;e=g;ee=27;break d}case 24:{b=d;d=e;n=I;e=g;ee=28;break d}case 29:{b=d;d=e;e=g;ee=65;break d}case 30:{b=d;d=e;n=I;e=g;ee=66;break d}case 28:{b=d;d=e;n=I;e=g;ee=60;break d}case 32:{b=d;d=e;e=g;ee=72;break d}case 17:{b=d;d=e;n=I;ee=22;break d}case 18:{b=d;d=e;n=I;ee=23;break d}case 25:{b=d;d=e;n=I;e=g;ee=44;break d}case 26:{b=d;d=e;n=I;e=g;ee=45;break d}case 133:{b=d;d=e;n=I;e=g;ee=46;break d}case 97:{i[z>>0]=27;z=f+(g*20|0)+16|0;o=k[z>>2]|0;if(!o)b=0;else{b=o;while(1)if(!(i[b>>0]|0))break;else b=b+1|0;b=b-o&1073741823}w=f+(g*20|0)+4|0;k[w>>2]=b;if(vb)n=0;else{n=ah(I,o,-1,1,0)|0;if((n|0)==18){b=d;d=e;h=q;ee=1316;break c}if(bm(I,ub)|0){u=ce;v=fe;b=d;d=q;ee=1317;break a}k[I+24>>2]=0;b=I+8|0;j[b>>1]=m[b>>1]|2048;b=f+(g*20|0)+1|0;if((i[b>>0]|0)==-1)rg(he,k[z>>2]|0);i[b>>0]=-1;o=k[I+16>>2]|0;k[z>>2]=o;b=k[I+12>>2]|0;k[w>>2]=b}if((b|0)>(k[wb>>2]|0)){b=d;d=e;h=q;ee=1316;break c}else ee=57;break}case 31:{b=d;d=e;n=I;e=g;ee=67;break d}case 34:{b=d;d=e;e=g;ee=79;break d}case 35:{b=d;d=e;h=q;ee=80;break c}case 33:{b=d;d=e;ee=74;break d}case 94:{b=d;d=e;ee=94;break d}case 93:case 92:case 91:case 90:case 89:{b=d;N=z;d=e;e=g;ee=112;break d}case 27:{o=k[f+(g*20|0)+16>>2]|0;b=k[f+(g*20|0)+4>>2]|0;n=0;ee=57;break}case 16:{g=(k[f+(g*20|0)+8>>2]|0)+-1|0;n=0;ee=19;break}case 36:{b=d;d=e;F=I;e=g;ee=166;break d}case 1:{Q=i[f+(g*20|0)+3>>0]|0;z=Q&255;x=k[yb>>2]|0;b=v+((k[f+(g*20|0)+12>>2]|0)*40|0)|0;k[Rc>>2]=b;if(Q<<24>>24){w=0;b=v+((k[f+(g*20|0)+8>>2]|0)*40|0)|0;while(1){k[x+(w<<2)>>2]=b;if((j[b+8>>1]&4096)!=0?(_l(b)|0)!=0:0){u=ce;v=fe;b=d;d=q;ee=1317;break a}w=w+1|0;if((w|0)>=(z|0))break;else b=b+40|0}b=k[Rc>>2]|0}Q=k[f+(g*20|0)+16>>2]|0;k[zb>>2]=Q;k[Ab>>2]=g;k[Bb>>2]=a;P=b+8|0;j[P>>1]=m[P>>1]&48640|1;i[Cb>>0]=0;P=je;k[P>>2]=e;k[P+4>>2]=c;rc[k[Q+12>>2]&63](Rc,z,x);c=je;e=k[c>>2]|0;c=k[c+4>>2]|0;if(!(i[Cb>>0]|0))b=0;else{if(!(k[Db>>2]|0))b=0;else{b=Xg(k[Rc>>2]|0,1)|0;k[ge>>2]=b;ih(fe,he,10344,ge);b=k[Db>>2]|0}jm(a,g,k[f+(g*20|0)+4>>2]|0)}bm(k[Rc>>2]|0,ub)|0;o=k[Rc>>2]|0;w=m[o+8>>1]|0;if(w&18){n=k[o+12>>2]|0;if(w&16384)n=(k[o>>2]|0)+n|0;if((n|0)>(k[(k[o+32>>2]|0)+88>>2]|0)){b=d;d=e;h=q;ee=1316;break c}else{z=I;P=g;n=b}}else{z=I;P=g;n=b}break}case 88:case 87:case 86:case 85:{b=d;D=z;d=e;e=g;ee=184;break d}case 39:{b=d;d=e;F=I;e=g;ee=208;break d}case 37:{b=d;d=e;n=I;e=g;ee=202;break d}case 38:{b=d;d=e;F=I;e=g;ee=203;break d}case 83:case 80:case 81:case 82:case 78:case 79:{b=d;E=F;d=e;n=I;ee=213;break d}case 40:{Q=k[f+(g*20|0)+4>>2]|0;b=v+(Q*40|0)|0;if(!(j[v+(Q*40|0)+8>>1]&16384))n=0;else n=Wg(b)|0;lm(b,k[f+(g*20|0)+8>>2]&255,Gc);z=I;P=g;break}case 41:{b=d;d=e;n=I;e=g;ee=248;break d}case 42:{b=d;d=e;n=I;e=g;ee=249;break d}case 43:{b=d;d=e;n=I;ee=256;break d}case 71:case 72:{b=d;d=e;e=g;ee=261;break d}case 76:{b=d;d=e;n=I;e=g;ee=286;break d}case 19:{b=d;d=e;e=g;ee=268;break d}case 96:{b=d;d=e;e=g;ee=273;break d}case 44:{b=d;d=e;n=I;e=g;ee=278;break d}case 46:case 45:{b=d;d=e;n=I;e=g;ee=281;break d}case 77:{b=d;d=e;n=I;e=g;ee=288;break d}case 47:{b=d;d=e;n=I;ee=290;break d}case 48:{b=d;d=e;n=I;e=g;ee=368;break d}case 49:{b=d;d=e;ee=371;break d}case 50:{B=k[k[(k[Fb>>2]|0)+(k[f+(g*20|0)+4>>2]<<2)>>2]>>2]|0;f:do if(k[B+60>>2]|0){b=vm(B)|0;if(!b){J=B+76|0;H=B+44|0;w=B+72|0;o=0;n=0;g:while(1){z=j[J>>1]|0;F=k[B+(z<<16>>16<<2)+120>>2]|0;if(!(i[F+5>>0]|0)){if(!(i[F+2>>0]|0)){o=ow(m[F+18>>1]|0,0,o|0,n|0)|0;n=L}}else{o=ow(m[F+18>>1]|0,0,o|0,n|0)|0;n=L;while(1){if(!(z<<16>>16))break g;if(F){Gg(k[F+68>>2]|0);z=j[J>>1]|0}z=z+-1<<16>>16;j[J>>1]=z;j[H>>1]=0;i[w>>0]=l[w>>0]&249;F=z<<16>>16;x=B+(F<<1)+78|0;E=j[x>>1]|0;F=k[B+(F<<2)+120>>2]|0;if((E&65535)<(m[F+18>>1]|0)){z=E;break}}j[x>>1]=z+1<<16>>16;F=j[J>>1]|0;z=F;F=k[B+(F<<16>>16<<2)+120>>2]|0}z=j[B+(z<<16>>16<<1)+78>>1]|0;x=k[F+56>>2]|0;if(z<<16>>16==(j[F+18>>1]|0)){b=l[F+6>>0]|0;b=wm(B,l[x+(b+9)>>0]<<16|l[x+(b+8)>>0]<<24|l[x+(b+10)>>0]<<8|l[x+(b+11)>>0])|0}else{b=(z&65535)<<1;Q=k[F+64>>2]|0;b=(l[Q+b>>0]<<8|l[Q+(b|1)>>0])&m[F+20>>1];b=wm(B,l[x+(b+1)>>0]<<16|l[x+b>>0]<<24|l[x+(b+2)>>0]<<8|l[x+(b+3)>>0])|0}if(b){o=0;n=0;break f}}b=vm(B)|0}else{o=0;n=0}}else{b=0;o=0;n=0}while(0);z=I;k[z>>2]=o;k[z+4>>2]=n;z=I;P=g;n=b;break}case 2:{M=k[f+(g*20|0)+4>>2]|0;o=k[f+(g*20|0)+16>>2]|0;if(!M){b=d;d=e;n=I;e=g;ee=446;break d}w=k[Mb>>2]|0;if(!w){f=o;b=d;d=e;h=q;ee=460;break c}else b=0;while(1){if(!(id(k[w>>2]|0,o)|0)){F=b;break}w=k[w+24>>2]|0;if(!w){f=o;b=d;d=e;h=q;ee=460;break c}else b=b+1|0}J=(M|0)==1;if((k[Yd>>2]|0)>0&J){b=d;d=e;h=q;ee=462;break c}H=w+24|0;if(!(k[H>>2]|0)){x=(i[Pb>>0]|0)!=0;if(x&J){b=ym(a,1)|0;if(b)break a;i[ae>>0]=1;if((Wl(a)|0)==5){b=g;ee=467;break c}i[Pb>>0]=0;x=1;n=k[ie>>2]|0}else ee=469}else{x=0;ee=469}if((ee|0)==469){ee=0;o=(k[Lb>>2]|0)-F+-1|0;if((M|0)==2){z=(k[Qb>>2]|0)>>>1&1;if((k[Rb>>2]|0)>0){F=z^1;E=0;while(1){D=Nl(k[(k[Td>>2]|0)+(E<<4)+4>>2]|0,516,F)|0;E=E+1|0;if(D){b=d;d=e;h=D;ee=1318;break c}b=k[Rb>>2]|0;if((E|0)>=(b|0)){ee=475;break}}}}else{b=k[Rb>>2]|0;z=0;ee=475}if((ee|0)==475){ee=0;if((b|0)>0){B=0;do{F=zm(k[(k[Td>>2]|0)+(B<<4)+4>>2]|0,M,o)|0;B=B+1|0;if(F){b=d;d=e;h=F;ee=1318;break c}}while((B|0)<(k[Rb>>2]|0))}}if(!z){F=o;n=0}else{z=k[Sb>>2]|0;if(z)do{Q=z+88|0;j[Q>>1]=j[Q>>1]|8;z=k[z+52>>2]|0}while((z|0)!=0);Jg(he);k[Qb>>2]=k[Qb>>2]|2;F=o;n=0}}z=k[Mb>>2]|0;if((z|0)!=(w|0))do{k[Mb>>2]=k[z+24>>2];rg(he,z);k[Lb>>2]=(k[Lb>>2]|0)+-1;z=k[Mb>>2]|0}while((z|0)!=(w|0));if(J){k[Mb>>2]=k[H>>2];rg(he,w);if(x){z=I;P=g;break e}else{b=d;z=M;d=e;x=F;n=I;e=g;ee=486;break d}}else{Q=w+8|0;P=k[Q+4>>2]|0;O=Nb;k[O>>2]=k[Q>>2];k[O+4>>2]=P;O=w+16|0;P=k[O+4>>2]|0;Q=Ob;k[Q>>2]=k[O>>2];k[Q+4>>2]=P;if(x){z=I;P=g;break e}else{z=M;b=d;d=e;x=F;n=I;e=g;ee=488;break d}}}case 3:{h=q;ee=489;break c}case 4:{w=f+(g*20|0)+8|0;b=k[w>>2]|0;if((b|0)!=0?(k[Qb>>2]&33554432|0)!=0:0){b=d;d=e;h=8;ee=1318;break c}E=f+(g*20|0)+4|0;F=k[(k[Td>>2]|0)+(k[E>>2]<<4)+4>>2]|0;if(!F){n=0;w=0;b=0}else{z=Dg(F,b)|0;if((z|0)==5){b=g;ee=508;break c}else if(z){b=d;d=e;h=z;ee=1318;break c}do if((k[w>>2]|0)!=0?(j[Ud>>1]&32)!=0:0){if((i[ae>>0]|0)!=0?(k[Wb>>2]|0)<=1:0){b=0;break}b=k[Tb>>2]|0;if(!b){b=(k[Kb>>2]|0)+1|0;k[Kb>>2]=b;b=(k[Lb>>2]|0)+b|0;k[Tb>>2]=b}b=xm(he,0,b+-1|0)|0;if(!b){b=k[Tb>>2]|0;Q=k[F+4>>2]|0;k[Q+4>>2]=k[F>>2];b=ml(k[Q>>2]|0,b)|0}Q=Nb;P=k[Q+4>>2]|0;O=Ub;k[O>>2]=k[Q>>2];k[O+4>>2]=P;O=Ob;P=k[O+4>>2]|0;Q=Vb;k[Q>>2]=k[O>>2];k[Q+4>>2]=P}else b=0;while(0);n=k[F+4>>2]|0;k[n+4>>2]=k[F>>2];n=k[(k[n+12>>2]|0)+56>>2]|0;n=l[n+41>>0]<<16|l[n+40>>0]<<24|l[n+42>>0]<<8|l[n+43>>0];w=k[(k[(k[Td>>2]|0)+(k[E>>2]<<4)+12>>2]|0)+4>>2]|0}if(i[f+(g*20|0)+3>>0]|0){if((n|0)!=(k[f+(g*20|0)+12>>2]|0)){b=d;f=E;d=e;h=q;ee=522;break c}if((w|0)!=(k[f+(g*20|0)+16>>2]|0)){b=d;f=E;d=e;h=q;ee=522;break c}else{z=I;P=g;n=b}}else{z=I;P=g;n=b}break}case 53:{b=k[(k[Fb>>2]|0)+(k[f+(g*20|0)+4>>2]<<2)>>2]|0;if((b|0)!=0?(k[b+28>>2]|0)==(k[f+(g*20|0)+8>>2]|0):0){w=f+(g*20|0)+3|0;n=0;ee=548}else ee=536;break}case 51:{b=d;d=e;n=I;e=g;ee=525;break d}case 52:{x=f+(g*20|0)+4|0;w=k[x>>2]|0;b=k[Td>>2]|0;z=k[f+(g*20|0)+12>>2]|0;o=v+(z*40|0)|0;n=_g(o)|0;Q=o;k[Q>>2]=n;k[Q+4>>2]=L;z=v+(z*40|0)+8|0;j[z>>1]=m[z>>1]&48640|4;z=f+(g*20|0)+8|0;n=Ig(k[b+(w<<4)+4>>2]|0,k[z>>2]|0,n)|0;z=k[z>>2]|0;if((z|0)==1){k[k[b+(w<<4)+12>>2]>>2]=k[o>>2];k[Qb>>2]=k[Qb>>2]|2}else if((z|0)==2)i[(k[b+(w<<4)+12>>2]|0)+76>>0]=k[o>>2];if((k[x>>2]|0)==1){b=k[Sb>>2]|0;if(b)do{Q=b+88|0;j[Q>>1]=j[Q>>1]|8;b=k[b+52>>2]|0}while((b|0)!=0);j[Ud>>1]=j[Ud>>1]&-9;z=I;P=g}else{z=I;P=g}break}case 55:case 54:{ee=536;break}case 57:case 56:{w=Cm(a,k[f+(g*20|0)+4>>2]|0,k[f+(g*20|0)+8>>2]|0,-1,1)|0;if(!w){u=ce;v=fe;b=d;d=q;ee=1317;break a}i[w+25>>0]=1;F=w+27|0;i[F>>0]=i[F>>0]|1;b=w+4|0;E=f+(g*20|0)+3|0;n=Em(k[he>>2]|0,0,he,b,l[E>>0]|5,1054)|0;do if(!n){n=Dg(k[b>>2]|0,1)|0;if(!n){x=k[f+(g*20|0)+16>>2]|0;z=k[b>>2]|0;if(!x){n=Dm(z,1,1,0,k[w>>2]|0)|0;i[F>>0]=i[F>>0]|4;break}n=Fm(z,rd,l[E>>0]|2)|0;if(!n){k[w+8>>2]=x;n=Dm(k[b>>2]|0,k[rd>>2]|0,1,x,k[w>>2]|0)|0}i[F>>0]=i[F>>0]&-5}}while(0);i[F>>0]=((i[E>>0]|0)!=8&1)<<3&255|i[F>>0]&-9;z=I;P=g;break}case 58:{b=d;d=e;ee=558;break d}case 60:{b=d;d=e;n=I;ee=568;break d}case 61:{b=d;d=e;n=I;e=g;ee=570;break d}case 59:{b=d;d=e;n=I;e=g;ee=566;break d}case 65:case 64:case 63:case 62:{b=d;w=n;d=e;n=I;e=g;ee=571;break d}case 66:{b=d;d=e;n=I;e=g;ee=596;break d}case 69:case 68:case 67:{b=d;H=z;d=e;n=I;ee=597;break d}case 73:{b=d;d=e;n=I;e=g;ee=624;break d}case 70:{Q=k[f+(g*20|0)+12>>2]|0;b=k[(k[Fb>>2]|0)+(k[f+(g*20|0)+4>>2]<<2)>>2]|0;n=k[b>>2]|0;k[zd>>2]=0;Q=v+(Q*40|0)|0;P=k[Q>>2]|0;Q=k[Q+4>>2]|0;n=Hm(n,0,P,Q,0,zd)|0;o=b+48|0;k[o>>2]=P;k[o+4>>2]=Q;i[b+25>>0]=0;k[b+60>>2]=0;i[b+26>>0]=0;o=k[zd>>2]|0;if(o)g=(k[f+(g*20|0)+8>>2]|0)+-1|0;k[b+12>>2]=o;z=I;P=g;break}case 74:{J=Md;k[J>>2]=0;k[J+4>>2]=0;k[Ad>>2]=0;J=k[(k[Fb>>2]|0)+(k[f+(g*20|0)+4>>2]<<2)>>2]|0;b=k[J>>2]|0;if(!b){n=0;o=0;b=0}else{o=J+27|0;do if(!(i[o>>0]&2)){z=Mm(b,Ad)|0;if(z){b=d;d=e;h=z;ee=1318;break c}if(k[Ad>>2]|0){Q=Md;k[Q>>2]=1;k[Q+4>>2]=0;break}pm(k[J>>2]|0,Md);n=Md;b=k[n>>2]|0;n=k[n+4>>2]|0;if((b|0)==-1&(n|0)==2147483647){i[o>>0]=i[o>>0]|2;break}else{P=ow(b|0,n|0,1,0)|0;Q=Md;k[Q>>2]=P;k[Q+4>>2]=L;break}}while(0);F=k[f+(g*20|0)+12>>2]|0;if(F){b=k[pb>>2]|0;if(!b)z=v;else{while(1){w=k[b+4>>2]|0;if(!w)break;else b=w}z=k[b+16>>2]|0}E=z+(F*40|0)|0;x=_g(E)|0;b=L;Q=E;k[Q>>2]=x;k[Q+4>>2]=b;Q=z+(F*40|0)+8|0;j[Q>>1]=m[Q>>1]&48640|4;if((x|0)==-1&(b|0)==2147483647){b=d;d=e;h=13;ee=1318;break c}if(i[o>>0]&2){b=d;d=e;h=13;ee=1318;break c}w=Md;n=k[w>>2]|0;w=k[w+4>>2]|0;z=ow(x|0,b|0,1,0)|0;x=L;if((w|0)<(x|0)|(w|0)==(x|0)&n>>>0<z>>>0){w=Md;k[w>>2]=z;k[w+4>>2]=x;w=x}else z=n;Q=E;k[Q>>2]=z;k[Q+4>>2]=w}h:do if(!(i[o>>0]&2))b=0;else{n=0;while(1){hd(8,Md);Q=Md;Q=ow(k[Q>>2]|0,k[Q+4>>2]&1073741823|0,1,0)|0;b=L;P=Md;k[P>>2]=Q;k[P+4>>2]=b;b=Hm(k[J>>2]|0,0,Q,b,0,Ad)|0;if(k[Ad>>2]|b)break h;n=n+1|0;if((n|0)>=100){b=d;d=e;h=13;ee=1318;break c}}}while(0);i[J+26>>0]=0;k[J+60>>2]=0;o=Md;n=k[o>>2]|0;o=k[o+4>>2]|0}z=I;k[z>>2]=n;k[z+4>>2]=o;z=I;P=g;n=b;break}case 84:case 75:{b=d;z=F;d=e;n=I;e=g;ee=647;break d}case 95:{b=k[(k[Fb>>2]|0)+(k[f+(g*20|0)+4>>2]<<2)>>2]|0;n=Om(k[b>>2]|0)|0;k[b+60>>2]=0;if((((n|0)==0?(Dc=k[bc>>2]|0,(Dc|0)!=0):0)?(Ec=k[f+(g*20|0)+16>>2]|0,(Ec|0)!=0):0)?(i[b+27>>0]&4)!=0:0){Q=b+48|0;gc[Dc&1](k[cc>>2]|0,9,k[(k[Td>>2]|0)+(i[b+24>>0]<<4)>>2]|0,Ec,k[Q>>2]|0,k[Q+4>>2]|0)}if(!(k[f+(g*20|0)+8>>2]&1)){z=I;P=g}else{k[rb>>2]=(k[rb>>2]|0)+1;z=I;P=g}break}case 98:{b=d;d=e;n=I;e=g;ee=671;break d}case 99:{b=d;d=e;n=I;e=g;ee=672;break d}case 100:{n=k[f+(g*20|0)+8>>2]|0;z=v+(n*40|0)|0;b=k[(k[(k[Fb>>2]|0)+(k[f+(g*20|0)+4>>2]<<2)>>2]|0)+56>>2]|0;if(!(i[b+56>>0]|0)){w=k[b+36>>2]|0;b=w;w=w+8|0}else{Q=k[b+20>>2]|0;w=k[(k[Q+8>>2]|0)+4>>2]|0;Q=k[Q+12>>2]|0;b=Q+(w*56|0)+20|0;w=k[Q+(w*56|0)+32>>2]|0}b=k[b>>2]|0;if(!(kh(z,b)|0)){k[v+(n*40|0)+12>>2]=b;Q=v+(n*40|0)+8|0;j[Q>>1]=m[Q>>1]&48640|16;pw(k[v+(n*40|0)+16>>2]|0,w|0,b|0)|0;n=0}else n=7;k[(k[(k[Fb>>2]|0)+(k[f+(g*20|0)+12>>2]<<2)>>2]|0)+60>>2]=0;P=g;break}case 102:case 101:{o=k[f+(g*20|0)+8>>2]|0;F=v+(o*40|0)|0;x=k[(k[Fb>>2]|0)+(k[f+(g*20|0)+4>>2]<<2)>>2]|0;z=k[x>>2]|0;x=x+27|0;if(i[x>>0]&4){qm(z,Zc);b=k[Zc>>2]|0;if(b>>>0>(k[wb>>2]|0)>>>0){b=d;d=e;h=q;ee=1316;break c}}else{pm(z,_c);O=_c;b=k[O>>2]|0;O=k[O+4>>2]|0;Q=k[wb>>2]|0;P=((Q|0)<0)<<31>>31;if((O|0)>(P|0)|(O|0)==(P|0)&b>>>0>Q>>>0){b=d;d=e;h=q;ee=1316;break c}k[Zc>>2]=b}if(kh(F,b>>>0>32?b:32)|0){u=ce;v=fe;b=d;d=q;ee=1317;break a}k[v+(o*40|0)+12>>2]=b;w=v+(o*40|0)+8|0;j[w>>1]=m[w>>1]&48640|16;w=k[Zc>>2]|0;b=k[v+(o*40|0)+16>>2]|0;if(!(i[x>>0]&4))n=Qm(z,0,w,b,0)|0;else n=Ih(z,0,w,b)|0;i[v+(o*40|0)+10>>0]=1;z=F;P=g;break}case 103:{n=k[(k[Fb>>2]|0)+(k[f+(g*20|0)+4>>2]<<2)>>2]|0;o=n+25|0;if(i[o>>0]|0){b=d;d=e;n=I;e=g;ee=700;break d}do if(!(i[n+26>>0]|0)){b=k[n+32>>2]|0;if(b){Q=k[b>>2]|0;n=wc[k[(k[Q>>2]|0)+48>>2]&127](b,Od)|0;Rm(a,Q);break}if((i[(k[n>>2]|0)+73>>0]|0)!=1){z=om(n)|0;if(z){b=d;d=e;h=z;ee=1318;break c}if(i[o>>0]|0){b=d;d=e;n=I;e=g;ee=708;break d}}pm(k[n>>2]|0,Od);n=0}else{P=n+48|0;Q=k[P+4>>2]|0;n=Od;k[n>>2]=k[P>>2];k[n+4>>2]=Q;n=0}while(0);Q=Od;P=k[Q+4>>2]|0;z=I;k[z>>2]=k[Q>>2];k[z+4>>2]=P;z=I;P=g;break}case 108:{ee=715;break}case 104:{b=d;d=e;n=I;e=g;ee=711;break d}case 107:case 106:{k[dc>>2]=(k[dc>>2]|0)+1;ee=715;break}case 105:{P=k[(k[Fb>>2]|0)+(k[f+(g*20|0)+4>>2]<<2)>>2]|0;n=k[P>>2]|0;k[Bd>>2]=0;n=Mm(n,Bd)|0;Q=k[Bd>>2]|0;i[P+25>>0]=Q;i[P+26>>0]=0;k[P+60>>2]=0;P=k[f+(g*20|0)+8>>2]|0;z=I;P=(P|0)>0&(Q|0)!=0?P+-1|0:g;break}case 7:case 6:{if(!(k[(k[Fb>>2]|0)+(k[f+(g*20|0)+4>>2]<<2)>>2]|0)){b=d;d=e;O=v;w=f;P=R;Q=S;n=I;e=g;break d}else ee=765;break}case 5:{b=k[(k[Fb>>2]|0)+(k[f+(g*20|0)+4>>2]<<2)>>2]|0;k[Cd>>2]=0;w=k[b+56>>2]|0;if(i[w+56>>0]|0){n=$m(k[w+20>>2]|0,Cd)|0;ee=766;break e}n=w+36|0;o=k[n>>2]|0;Q=o+4|0;k[n>>2]=k[Q>>2];k[Q>>2]=0;if(!((k[w+40>>2]|0)!=0|(o|0)==0))rg(he,o);k[Cd>>2]=(k[n>>2]|0)==0&1;n=0;ee=766;break}case 9:case 8:{ee=765;break}case 110:case 109:{x=k[(k[Fb>>2]|0)+(k[f+(g*20|0)+4>>2]<<2)>>2]|0;O=k[f+(g*20|0)+8>>2]|0;b=k[x>>2]|0;z=f+(g*20|0)+3|0;if(i[z>>0]&1)k[rb>>2]=(k[rb>>2]|0)+1;if((j[v+(O*40|0)+8>>1]&16384)!=0?(Rd=Wg(v+(O*40|0)|0)|0,(Rd|0)!=0):0){b=d;d=e;f=Rd;h=q;ee=1309;break c}B=k[x+56>>2]|0;P=v+(O*40|0)+12|0;N=k[P>>2]|0;if(!B){if(!(i[z>>0]&16))w=0;else w=k[x+12>>2]|0;n=Nm(b,k[v+(O*40|0)+16>>2]|0,N,((N|0)<0)<<31>>31,10360,0,0,k[f+(g*20|0)+12>>2]|0,w)|0;k[x+60>>2]=0;z=I;P=g;break e}z=N;w=((N|0)<0)<<31>>31;x=0;do{x=x+1|0;z=rw(z|0,w|0,7)|0;w=L}while(((z|0)!=0|(w|0)!=0)&(x|0)<9);o=N+8|0;E=x+N|0;J=B+4|0;x=k[J>>2]|0;do if(!x)n=0;else{if(!(k[B+40>>2]|0)){z=B+44|0;Q=k[z>>2]|0;if((Q|0)<=(x|0)?!((k[2265]|0)!=0?(Q|0)>(k[B>>2]|0):0):0){n=0;break}}else{Q=k[B+48>>2]|0;if(!((Q|0)!=0&(Q+o|0)>(x|0))){n=0;break}z=B+44|0}n=Tm(B)|0;k[z>>2]=0;k[B+48>>2]=0}while(0);z=B+36|0;F=B+44|0;k[F>>2]=(k[F>>2]|0)+E;F=B+8|0;if((E|0)>(k[F>>2]|0))k[F>>2]=E;H=B+40|0;F=k[H>>2]|0;if(!F){w=vg(o,((o|0)<0)<<31>>31)|0;if(!w){b=d;d=e;f=7;h=q;ee=1309;break c}k[w+4>>2]=k[z>>2]}else{w=B+48|0;E=k[w>>2]|0;o=E+o|0;b=B+52|0;D=k[b>>2]|0;if((o|0)>(D|0)){E=D;do E=E<<1;while((E|0)<(o|0));Q=k[J>>2]|0;E=(E|0)>(Q|0)?Q:E;E=(E|0)<(o|0)?o:E;F=wg(F,E,((E|0)<0)<<31>>31)|0;if(!F){b=d;d=e;f=7;h=q;ee=1309;break c}x=F+((k[z>>2]|0)-(k[H>>2]|0))|0;k[z>>2]=x;k[H>>2]=F;k[b>>2]=E;E=k[w>>2]|0}else x=k[z>>2]|0;k[w>>2]=E+(N+15&-8);k[F+(E+4)>>2]=x-F;w=F+E|0}pw(w+8|0,k[v+(O*40|0)+16>>2]|0,k[P>>2]|0)|0;k[w>>2]=k[P>>2];k[z>>2]=w;z=I;P=g;break}case 112:{b=d;d=e;e=g;ee=801;break d}case 111:{w=k[(k[Fb>>2]|0)+(k[f+(g*20|0)+4>>2]<<2)>>2]|0;b=k[w>>2]|0;k[vd>>2]=k[w+8>>2];j[ec>>1]=k[f+(g*20|0)+12>>2];i[hc>>0]=0;k[ic>>2]=v+((k[f+(g*20|0)+8>>2]|0)*40|0);n=Hm(b,vd,0,0,0,Dd)|0;if(!(k[Dd>>2]|n))n=Om(b)|0;k[w+60>>2]=0;z=I;P=g;break}case 116:case 115:case 114:case 113:{w=k[(k[Fb>>2]|0)+(k[f+(g*20|0)+4>>2]<<2)>>2]|0;k[wd>>2]=k[w+8>>2];j[pc>>1]=k[f+(g*20|0)+16>>2];i[T>>0]=((F&255)<115)<<31>>31;k[U>>2]=v+((k[f+(g*20|0)+12>>2]|0)*40|0);Q=Pd;k[Q>>2]=0;k[Q+4>>2]=0;pm(k[w>>2]|0,Pd);Q=Pd;b=k[Q>>2]|0;Q=ow(b|0,k[Q+4>>2]|0,-1,-1)|0;P=L;if(!(P>>>0>0|(P|0)==0&Q>>>0>2147483646)){j[X>>1]=0;k[Y>>2]=he;k[Z>>2]=0;b=sm(k[w>>2]|0,0,b,1,nd)|0;if(!b){n=Pm(k[_>>2]|0,k[$>>2]|0,wd,0)|0;if((j[X>>1]&9312)==0&(k[Z>>2]|0)==0)b=0;else{Vg(nd);b=0}}else n=0}else{k[ge>>2]=68730;k[ge+4>>2]=10788;gd(11,13600,ge);b=11;n=0}if((((i[z>>0]&1)==0?n+1|0:0-n|0)|0)>0){z=I;P=(k[f+(g*20|0)+8>>2]|0)+-1|0;n=b}else{z=I;P=g;n=b}break}case 117:{M=I+8|0;j[M>>1]=1;if((k[Wb>>2]|0)>((k[aa>>2]|0)+1|0)){b=d;d=e;h=q;ee=832;break c}K=k[f+(g*20|0)+12>>2]|0;J=k[(k[Td>>2]|0)+(K<<4)+4>>2]|0;N=f+(g*20|0)+4|0;E=k[N>>2]|0;z=J+4|0;o=k[z>>2]|0;k[o+4>>2]=k[J>>2];k[ge>>2]=0;do if(!(k[o+8>>2]|0)){n=il(o,E,ge,0)|0;if(!n){n=an(J,E,0)|0;if(n){w=k[ge>>2]|0;if(!w){x=0;break}Gg(k[w+68>>2]|0);x=0;break}if(E>>>0<=1){w=k[ge>>2]|0;ul(w,9);if(!w){n=0;x=0;break}Gg(k[w+68>>2]|0);n=0;x=0;break}if(!(i[o+17>>0]|0)){w=k[ge>>2]|0;n=bn(k[w+52>>2]|0,w,k[w+72>>2]|0)|0;if(!w){x=0;break}Gg(k[w+68>>2]|0);x=0;break}F=k[z>>2]|0;k[F+4>>2]=k[J>>2];F=k[(k[F+12>>2]|0)+56>>2]|0;F=l[F+53>>0]<<16|l[F+52>>0]<<24|l[F+54>>0]<<8|l[F+55>>0];z=k[ge>>2]|0;if((F|0)==(E|0)){n=bn(k[z+52>>2]|0,z,k[z+72>>2]|0)|0;if(z)Gg(k[z+68>>2]|0);if(!n)x=0;else{x=0;break}}else{if(z)Gg(k[z+68>>2]|0);n=il(o,F,Pd,0)|0;if(n){x=0;break}z=k[Pd>>2]|0;n=cn(o,z,1,0,E,0)|0;if(z)Gg(k[z+68>>2]|0);if(n){x=0;break}k[Pd>>2]=0;n=il(o,F,Pd,0)|0;z=k[Pd>>2]|0;if(n){if(!z){x=0;break}}else n=bn(k[z+52>>2]|0,z,k[z+72>>2]|0)|0;Gg(k[z+68>>2]|0);if(!n)x=F;else{x=0;break}}D=((k[2514]|0)>>>0)/((k[o+32>>2]|0)>>>0)|0;C=D+1|0;E=o+36|0;while(1){z=F+-1|0;if((z|0)==(C|0)){F=z;continue}if(z>>>0<2)B=0;else{B=F+-3|0;B=B-((B>>>0)%(((((k[E>>2]|0)>>>0)/5|0)+1|0)>>>0)|0)|0;B=((B+1|0)==(D|0)?3:2)+B|0}if((B|0)==(z|0))F=z;else break}n=Ig(J,4,z)|0}else x=0}else{n=262;x=0}while(0);j[M>>1]=4;Q=I;k[Q>>2]=x;k[Q+4>>2]=((x|0)<0)<<31>>31;if((n|0)==0&(x|0)!=0){b=d;J=K;z=N;d=e;n=I;e=g;ee=865;break d}else{z=I;P=g}break}case 118:{k[bd>>2]=0;b=f+(g*20|0)+12|0;n=an(k[(k[Td>>2]|0)+(k[f+(g*20|0)+8>>2]<<4)+4>>2]|0,k[f+(g*20|0)+4>>2]|0,(k[b>>2]|0)!=0?bd:0)|0;b=k[b>>2]|0;if((b|0)!=0?(Fc=k[bd>>2]|0,k[rb>>2]=(k[rb>>2]|0)+Fc,(b|0)>0):0){z=v+(b*40|0)|0;P=z;P=ow(k[P>>2]|0,k[P+4>>2]|0,Fc|0,((Fc|0)<0)<<31>>31|0)|0;k[z>>2]=P;k[z+4>>2]=L;z=I;P=g}else{z=I;P=g}break}case 121:case 120:{k[sd>>2]=0;n=Fm(k[(k[Td>>2]|0)+(k[f+(g*20|0)+4>>2]<<4)+4>>2]|0,sd,F<<24>>24==121?1:2)|0;P=k[sd>>2]|0;z=I;k[z>>2]=P;k[z+4>>2]=((P|0)<0)<<31>>31;z=I;P=g;break}case 119:{b=k[(k[Fb>>2]|0)+(k[f+(g*20|0)+4>>2]<<2)>>2]|0;n=k[b+56>>2]|0;if(n){b=d;d=e;F=I;e=g;ee=878;break d}n=k[b>>2]|0;z=I;P=g;n=an(k[n>>2]|0,k[n+60>>2]|0,0)|0;break}case 123:{z=I;P=g;n=fn(he,k[f+(g*20|0)+4>>2]|0)|0;break}case 124:{b=d;d=e;n=I;e=g;ee=886;break d}case 122:{b=d;d=e;F=I;e=g;ee=881;break d}case 126:{b=d;d=e;n=I;e=g;ee=895;break d}case 125:{b=d;d=e;F=I;e=g;ee=887;break d}case 127:{b=d;d=e;n=I;ee=903;break d}case 128:{b=d;d=e;F=I;ee=947;break d}case 129:{o=k[f+(g*20|0)+4>>2]|0;n=v+(o*40|0)|0;o=v+(o*40|0)+8|0;b=j[o>>1]|0;do if(b&32){B=k[n>>2]|0;b=B+26|0;w=j[b>>1]|0;if(!(w&2)){if(!(w&1)){w=B+8|0;Q=pn(k[w>>2]|0)|0;k[w>>2]=Q;w=j[b>>1]|0}j[b>>1]=w&65535|2}z=B+8|0;x=k[z>>2]|0;if(!x){b=j[o>>1]|0;break}o=x;w=k[o>>2]|0;o=k[o+4>>2]|0;Q=k[x+8>>2]|0;k[z>>2]=Q;if(!Q)cl(B);n=k[f+(g*20|0)+12>>2]|0;b=v+(n*40|0)|0;n=v+(n*40|0)+8|0;if(!(j[n>>1]&9312)){ee=b;k[ee>>2]=w;k[ee+4>>2]=o;j[n>>1]=4;n=0;ee=19;break e}else{ch(b,w,o);n=0;ee=19;break e}}while(0);if(!(b&9312))j[o>>1]=1;else Ag(n);g=(k[f+(g*20|0)+8>>2]|0)+-1|0;n=0;ee=19;break}case 130:{b=d;d=e;n=I;ee=966;break d}case 131:{b=d;d=e;n=I;e=g;ee=993;break d}case 132:{b=d;d=e;n=I;e=g;ee=1009;break d}case 134:{b=d;d=e;F=I;e=g;ee=1010;break d}case 135:{b=d;d=e;n=I;e=g;ee=1015;break d}case 136:{b=d;d=e;e=g;ee=1022;break d}case 137:{b=d;d=e;n=I;e=g;ee=1028;break d}case 138:{b=d;d=e;n=I;e=g;ee=1030;break d}case 139:{b=d;d=e;F=I;e=g;ee=1032;break d}case 140:{b=d;d=e;n=I;e=g;ee=1034;break d}case 141:{b=d;d=e;n=I;e=g;ee=1036;break d}case 10:{Q=i[f+(g*20|0)+3>>0]|0;w=Q&255;b=k[yb>>2]|0;if(Q<<24>>24){n=0;o=v+((k[f+(g*20|0)+8>>2]|0)*40|0)|0;while(1){k[b+(n<<2)>>2]=o;n=n+1|0;if((n|0)>=(w|0))break;else o=o+40|0}}Q=k[f+(g*20|0)+16>>2]|0;k[Da>>2]=Q;P=k[f+(g*20|0)+12>>2]|0;k[Ea>>2]=v+(P*40|0);P=v+(P*40|0)+12|0;k[P>>2]=(k[P>>2]|0)+1;j[Fa>>1]=1;k[Ga>>2]=he;k[Ha>>2]=0;k[Sc>>2]=Jd;k[Ia>>2]=0;k[Ja>>2]=a;k[Ka>>2]=g;i[La>>0]=0;rc[k[Q+16>>2]&63](Sc,w,b);if(!(k[Ia>>2]|0))n=0;else{n=Xg(Jd,1)|0;k[ge>>2]=n;ih(fe,he,10344,ge);n=k[Ia>>2]|0}do if((i[La>>0]|0)!=0?(Jc=k[f+((g+-1|0)*20|0)+4>>2]|0,(Jc|0)!=0):0){b=v+(Jc*40|0)|0;o=v+(Jc*40|0)+8|0;if(!(j[o>>1]&9312)){Q=b;k[Q>>2]=1;k[Q+4>>2]=0;j[o>>1]=4;break}else{ch(b,1,0);break}}while(0);if((j[Fa>>1]&9312)==0&(k[Ha>>2]|0)==0){z=I;P=g}else{Vg(Jd);z=I;P=g}break}case 11:{k[Oc>>2]=0;k[Ma>>2]=-1;k[Na>>2]=-1;b=$h(he,k[f+(g*20|0)+4>>2]|0,k[f+(g*20|0)+8>>2]|0,Na,Ma)|0;if((b|0)==5){k[Oc>>2]=1;b=0}n=0;o=v+((k[f+(g*20|0)+12>>2]|0)*40|0)|0;while(1){z=k[Oc+(n<<2)>>2]|0;x=((z|0)<0)<<31>>31;w=o+8|0;if(!(j[w>>1]&9312)){Q=o;k[Q>>2]=z;k[Q+4>>2]=x;j[w>>1]=4}else ch(o,z,x);n=n+1|0;if((n|0)==3){z=I;P=g;n=b;break}else o=o+40|0}break}case 142:{z=k[f+(g*20|0)+4>>2]|0;w=v+(z*40|0)|0;n=bl(w,k[f+(g*20|0)+16>>2]|0)|0;if(n){Q=Xg(w,1)|0;k[ge>>2]=Q;ih(fe,he,10344,ge)}bm(w,ub)|0;o=m[v+(z*40|0)+8>>1]|0;if(o&18){b=k[v+(z*40|0)+12>>2]|0;if(o&16384)b=(k[w>>2]|0)+b|0;if((b|0)>(k[(k[v+(z*40|0)+32>>2]|0)+88>>2]|0)){b=d;d=e;h=q;ee=1316;break c}else{z=I;P=g}}else{z=I;P=g}break}case 12:{b=k[f+(g*20|0)+12>>2]|0;I=k[(k[Td>>2]|0)+(k[f+(g*20|0)+4>>2]<<4)+4>>2]|0;H=k[k[I+4>>2]>>2]|0;F=i[H+5>>0]|0;w=F&255;b=(b|0)==-1?w:b;do if((l[H+16>>0]|0)>2)b=w;else if((k[k[H+64>>2]>>2]|0)!=0?(Q=H+72|0,P=k[Q+4>>2]|0,(P|0)>0|(P|0)==0&(k[Q>>2]|0)>>>0>0):0){b=w;break}while(0);if(!(i[H+15>>0]|0))x=k[H+168>>2]|0;else x=10360;o=(b|0)==5;if(o)if(x){z=x;while(1)if(!(i[z>>0]|0))break;else z=z+1|0;if(z-x&1073741823){z=k[k[H+60>>2]>>2]|0;if(!(i[H+4>>0]|0))if((k[z>>2]|0)>1?!((k[z+52>>2]|0)==0|(b|0)==(w|0)):0)ee=1077;else{b=w;n=0}else ee=1076}else{b=w;n=0}}else{b=w;n=0}else ee=1076;if((ee|0)==1076){ee=0;if((b|0)==(w|0)){b=w;n=0}else ee=1077}do if((ee|0)==1077){ee=0;z=F<<24>>24==5;if(z|o){if(!(i[ae>>0]|0)){b=d;f=o;d=e;h=q;ee=1080;break c}if((k[Wb>>2]|0)>1){b=d;f=o;d=e;h=q;ee=1080;break c}if(!z){if(F<<24>>24==4)xn(H,2)|0}else{F=H+208|0;if(!(k[F>>2]|0)){k[Wc>>2]=0;n=kl(H,1)|0;if(n)break;n=k[H>>2]|0;n=uc[k[n+32>>2]&31](n,k[H+212>>2]|0,0,Wc)|0;if((n|0)==0&(k[Wc>>2]|0)!=0)n=un(H)|0;if(n)break;if(k[F>>2]|0)ee=1088}else ee=1088;if((ee|0)==1088){ee=0;n=vn(H)|0;if(n)break;n=wn(k[F>>2]|0,l[H+9>>0]|0,k[H+152>>2]|0,k[H+200>>2]|0)|0;k[F>>2]=0;if(n)break}xn(H,b)|0}n=Kg(I,o?2:1)|0}else n=0}while(0);b=xn(H,(n|0)==0?b:w)|0;z=k[f+(g*20|0)+8>>2]|0;F=v+(z*40|0)|0;j[v+(z*40|0)+8>>1]=2562;if((b|0)==6){k[v+(z*40|0)+16>>2]=0;b=0}else{b=k[32216+(b<<2)>>2]|0;k[v+(z*40|0)+16>>2]=b;w=b;while(1)if(!(i[w>>0]|0))break;else w=w+1|0;b=w-b&1073741823}k[v+(z*40|0)+12>>2]=b;i[v+(z*40|0)+10>>0]=1;bm(F,ub)|0;z=F;P=g;break}case 13:{if(!(i[ae>>0]|0)){b=d;d=e;h=q;ee=1101;break c}if((k[Oa>>2]|0)>1){b=d;d=e;h=q;ee=1103;break c}O=k[Qb>>2]|0;K=k[sb>>2]|0;o=k[tb>>2]|0;b=k[Pa>>2]|0;k[Qb>>2]=O&-2762753|2107392;k[Pa>>2]=0;H=k[(k[Td>>2]|0)+4>>2]|0;N=H+4|0;E=i[(k[k[N>>2]>>2]|0)+15>>0]|0;Q=k[Rb>>2]|0;n=yn(he,fe,(i[Xb>>0]|0)==2?42432:42464)|0;F=k[Rb>>2]|0;if((F|0)>(Q|0))w=(k[Td>>2]|0)+(F+-1<<4)|0;else w=0;i:do if(!n){M=k[(k[Td>>2]|0)+(F+-1<<4)+4>>2]|0;zn(M)|0;P=k[N>>2]|0;k[P+4>>2]=k[H>>2];P=(k[P+32>>2]|0)-(k[P+36>>2]|0)|0;n=yn(he,fe,42488)|0;if(!n){n=yn(he,fe,42528)|0;if(!n){n=Dg(H,2)|0;if(!n){F=k[N>>2]|0;if((i[(k[F>>2]|0)+5>>0]|0)==5)k[Qa>>2]=0;if(!(Cg(M,k[F+32>>2]|0,P,0)|0)){if(E<<24>>24==0?(Cg(M,k[Qa>>2]|0,P,0)|0)!=0:0){n=7;break}if(i[ce>>0]|0){n=7;break}F=i[Ra>>0]|0;do if(F<<24>>24>-1)F=F<<24>>24;else{F=k[N>>2]|0;k[F+4>>2]=k[H>>2];if(!(i[F+17>>0]|0)){F=0;break}F=(i[F+18>>0]|0)==0?1:2}while(0);An(M,F)|0;n=Bn(he,fe,42536)|0;if(n)break;n=Bn(he,fe,42688)|0;if(n)break;n=Bn(he,fe,42792)|0;if(n)break;n=Bn(he,fe,42912)|0;if(n)break;n=Bn(he,fe,43112)|0;if(n)break;n=Bn(he,fe,43232)|0;if(n)break;n=yn(he,fe,43392)|0;if(!n)F=0;else break;do{n=l[43576+F>>0]|0;Bm(H,n,Yc);n=Ig(M,n,(l[43576+(F|1)>>0]|0)+(k[Yc>>2]|0)|0)|0;F=F+2|0;if(n)break i}while((F|0)<10);D=k[N>>2]|0;k[D+4>>2]=k[H>>2];F=k[M>>2]|0;J=M+4|0;E=k[J>>2]|0;k[E+4>>2]=F;D=k[(k[D>>2]|0)+60>>2]|0;C=k[D>>2]|0;if(C){Q=k[E+32>>2]|0;Q=xw(k[E+44>>2]|0,0,Q|0,((Q|0)<0)<<31>>31|0)|0;n=ad;k[n>>2]=Q;k[n+4>>2]=L;n=fc[k[C+40>>2]&63](D,11,ad)|0;n=(n|0)==12?0:n;if(n)break;F=k[M>>2]|0}Q=Qc+0|0;C=Q+48|0;do{k[Q>>2]=0;Q=Q+4|0}while((Q|0)<(C|0));k[Sa>>2]=F;k[Ta>>2]=M;k[Ua>>2]=H;k[Va>>2]=1;ld(Qc,2147483647)|0;n=md(Qc)|0;if(n){z=k[k[(k[Ua>>2]|0)+4>>2]>>2]|0;if(i[z+15>>0]|0)break;if(i[z+12>>0]|0)break;Cn(z);break}n=(k[N>>2]|0)+22|0;j[n>>1]=m[n>>1]&65533;n=zn(M)|0;if(n)break;F=k[J>>2]|0;k[F+4>>2]=k[M>>2];if(!(i[F+17>>0]|0))B=0;else B=(i[F+18>>0]|0)==0?1:2;An(H,B)|0;n=Cg(H,k[(k[J>>2]|0)+32>>2]|0,P,1)|0}else n=7}}}}while(0);k[Qb>>2]=O;k[sb>>2]=K;k[tb>>2]=o;k[Pa>>2]=b;Cg(H,-1,-1,1)|0;i[ae>>0]=1;if(w){Q=w+4|0;Rl(k[Q>>2]|0);k[Q>>2]=0;k[w+12>>2]=0}Jg(he);z=I;P=g;break}case 143:{Q=k[(k[Td>>2]|0)+(k[f+(g*20|0)+4>>2]<<4)+4>>2]|0;E=k[Q+4>>2]|0;k[E+4>>2]=k[Q>>2];if(!(i[E+17>>0]|0)){b=d;d=e;n=I;ee=1157;break d}B=E+44|0;D=k[B>>2]|0;x=E+12|0;z=k[(k[x>>2]|0)+56>>2]|0;z=l[z+37>>0]<<16|l[z+36>>0]<<24|l[z+38>>0]<<8|l[z+39>>0];C=Jl(E,D,z)|0;if(D>>>0<C>>>0){b=d;d=e;h=q;ee=1145;break c}if(!z){b=d;d=e;n=I;ee=1157;break d}F=E+8|0;w=k[F>>2]|0;do if(w){z=w;do{if(z){ee=1150;break}z=k[2]|0}while((z|0)!=0);if((ee|0)==1150){ee=0;n=Kl(z,0,0)|0;if(n)break;w=k[F>>2]|0}if(w){do{Q=w+72|0;i[Q>>0]=l[Q>>0]&251;w=k[w+8>>2]|0}while((w|0)!=0);ee=1154}else ee=1154}else ee=1154;while(0);if((ee|0)==1154){ee=0;n=Ll(E,C,D,0)|0;if(!n){n=Lg(k[(k[x>>2]|0)+68>>2]|0)|0;Q=k[(k[x>>2]|0)+56>>2]|0;P=k[B>>2]|0;i[Q+28>>0]=P>>>24;i[Q+29>>0]=P>>>16;i[Q+30>>0]=P>>>8;i[Q+31>>0]=P}}if((n|0)==101){b=d;d=e;n=I;ee=1157;break d}else{z=I;P=g}break}case 145:{b=k[f+(g*20|0)+12>>2]|0;if((b&255|0)==0?(k[Qb>>2]&16384|0)!=0:0){b=d;d=e;O=v;w=f;P=R;Q=S;n=I;e=g;break d}z=k[(k[Td>>2]|0)+(k[f+(g*20|0)+4>>2]<<4)+4>>2]|0;x=k[f+(g*20|0)+8>>2]|0;if(!(i[z+9>>0]|0)){b=d;d=e;O=v;w=f;P=R;Q=S;n=I;e=g;break d}w=b+1&255;o=z+4|0;k[(k[o>>2]|0)+4>>2]=k[z>>2];n=gl(z,x,w)|0;if(!n){b=d;d=e;n=I;e=g;ee=1166;break d}if((n&255|0)!=6){b=d;d=e;f=n;h=q;ee=1309;break c}k[ge>>2]=k[f+(g*20|0)+16>>2];ih(fe,he,42224,ge);z=I;P=g;break}case 144:{b=d;d=e;n=I;e=g;ee=1158;break d}case 146:{F=k[f+(g*20|0)+16>>2]|0;n=k[Wa>>2]|0;w=(n|0)>0;if(w?(k[Xa>>2]|0)==0:0){n=6;ee=1188}else ee=1179;j:do if((ee|0)==1179){ee=0;if(!F){b=d;d=e;O=v;w=f;P=R;Q=S;n=I;e=g;break d}b=F+8|0;o=(k[k[b>>2]>>2]|0)+56|0;if(k[o>>2]|0){if(w){z=k[Xa>>2]|0;x=0;do{if((k[z+(x<<2)>>2]|0)==(F|0)){n=0;ee=1188;break j}x=x+1|0}while((x|0)<(n|0))}n=Dn(he)|0;if(!n){n=qc[k[o>>2]&127](k[b>>2]|0)|0;if(!n){n=k[Wa>>2]|0;k[Wa>>2]=n+1;k[(k[Xa>>2]|0)+(n<<2)>>2]=F;n=F+12|0;k[n>>2]=(k[n>>2]|0)+1;n=0}}else ee=1188}else n=0}while(0);if((ee|0)==1188){ee=0;if(!F){z=I;P=g;break e}b=F+8|0}Rm(a,k[b>>2]|0);z=I;P=g;break}case 147:{Q=Hd+0|0;C=Q+40|0;do{k[Q>>2]=0;Q=Q+4|0}while((Q|0)<(C|0));k[Ya>>2]=he;b=dh(Hd,v+((k[f+(g*20|0)+8>>2]|0)*40|0)|0)|0;n=Xg(Hd,1)|0;k:do if(n){w=di(he,n,k[(k[Td>>2]|0)+(k[f+(g*20|0)+4>>2]<<4)>>2]|0)|0;b=k[k[w+56>>2]>>2]|0;n=gn($a,b,Tc)|0;if((n|0)!=0?(Lc=k[n+8>>2]|0,(Lc|0)!=0):0){b=En(he,w,Lc,k[(k[Lc>>2]|0)+4>>2]|0,fe)|0;if(b)break;w=w+60|0;b=k[w>>2]|0;if(!b){b=0;break}while(1){if((k[b>>2]|0)==(he|0))break;b=k[b+24>>2]|0;if(!b){b=0;break k}}b=Dn(he)|0;if(b)break;b=k[w>>2]|0;l:do if(!b)b=0;else while(1){if((k[b>>2]|0)==(he|0))break l;b=k[b+24>>2]|0;if(!b){b=0;break}}while(0);Q=k[Wa>>2]|0;k[Wa>>2]=Q+1;k[(k[Xa>>2]|0)+(Q<<2)>>2]=b;b=b+12|0;k[b>>2]=(k[b>>2]|0)+1;b=0;break}k[ge>>2]=b;b=zh(he,28320,ge)|0;k[fe>>2]=b;b=1}while(0);if((j[Za>>1]&9312)==0&(k[_a>>2]|0)==0){z=I;P=g;n=b}else{Vg(Hd);z=I;P=g;n=b}break}case 148:{k[aa>>2]=(k[aa>>2]|0)+1;b=di(he,k[f+(g*20|0)+16>>2]|0,k[(k[Td>>2]|0)+(k[f+(g*20|0)+4>>2]<<4)>>2]|0)|0;m:do if((b|0)!=0?(Mc=b+60|0,Nc=k[Mc>>2]|0,(Nc|0)!=0):0){n=Nc;do{if((k[(k[n+8>>2]|0)+4>>2]|0)>0){n=6;break m}n=k[n+24>>2]|0}while((n|0)!=0);b=Tk(he,b)|0;o=b+8|0;n=qc[k[(k[k[b+4>>2]>>2]|0)+20>>2]&127](k[o>>2]|0)|0;if(!n){k[o>>2]=0;k[Mc>>2]=0;Fn(b);n=0}}else n=0;while(0);k[aa>>2]=(k[aa>>2]|0)+-1;z=I;P=g;break}case 149:{b=d;d=e;n=I;e=g;ee=1213;break d}case 150:{b=k[(k[Fb>>2]|0)+(k[f+(g*20|0)+4>>2]<<2)>>2]|0;z=k[f+(g*20|0)+12>>2]|0;x=v+(z*40|0)|0;if(i[b+25>>0]|0){b=d;d=e;n=I;e=g;ee=1226;break d}Q=b+32|0;n=k[k[Q>>2]>>2]|0;P=k[n>>2]|0;k[Fd+0>>2]=0;k[Fd+4>>2]=0;k[Fd+8>>2]=0;k[Fd+12>>2]=0;k[Fd+16>>2]=0;k[Fd+20>>2]=0;k[Fd+24>>2]=0;k[Fd>>2]=x;w=v+(z*40|0)+8|0;j[w>>1]=m[w>>1]&48640|1;Q=fc[k[P+44>>2]&63](k[Q>>2]|0,Fd,k[f+(g*20|0)+8>>2]|0)|0;Rm(a,n);n=k[ab>>2]|0;n=(n|0)==0?Q:n;bm(x,ub)|0;w=m[w>>1]|0;if(w&18){b=k[v+(z*40|0)+12>>2]|0;if(w&16384)b=(k[x>>2]|0)+b|0;if((b|0)>(k[(k[v+(z*40|0)+32>>2]|0)+88>>2]|0)){b=d;d=e;h=q;ee=1316;break c}else{z=I;P=g}}else{z=I;P=g}break}case 14:{x=k[f+(g*20|0)+12>>2]|0;z=x+1|0;C=k[(k[Fb>>2]|0)+(k[f+(g*20|0)+4>>2]<<2)>>2]|0;F=k[C+32>>2]|0;E=k[F>>2]|0;D=k[E>>2]|0;B=k[v+(z*40|0)>>2]|0;x=k[v+(x*40|0)>>2]|0;w=k[yb>>2]|0;if((B|0)>0){b=0;do{Q=b;b=b+1|0;k[w+(Q<<2)>>2]=v+((b+z|0)*40|0)}while((b|0)!=(B|0))}n=yc[k[D+32>>2]&31](F,x,k[f+(g*20|0)+16>>2]|0,B,w)|0;Rm(a,E);if((n|0)==0?(qc[k[D+40>>2]&127](F)|0)!=0:0)g=(k[f+(g*20|0)+8>>2]|0)+-1|0;i[C+25>>0]=0;z=I;P=g;break}case 151:{b=k[(k[Fb>>2]|0)+(k[f+(g*20|0)+4>>2]<<2)>>2]|0;if(i[b+25>>0]|0){b=d;d=e;O=v;w=f;P=R;Q=S;n=I;e=g;break d}b=b+32|0;o=k[b>>2]|0;Q=k[o>>2]|0;n=k[Q>>2]|0;o=qc[k[n+36>>2]&127](o)|0;Rm(a,Q);if((o|0)==0?(qc[k[n+40>>2]&127](k[b>>2]|0)|0)!=0:0){n=0;ee=19;break e}g=(k[f+(g*20|0)+8>>2]|0)+-1|0;n=o;ee=19;break}case 15:{C=f+(g*20|0)+16|0;b=k[(k[C>>2]|0)+8>>2]|0;if(!b){b=d;d=e;f=6;h=q;ee=1309;break c}w=k[b>>2]|0;if(!w){b=d;d=e;f=6;h=q;ee=1309;break c}E=k[f+(g*20|0)+8>>2]|0;B=w+52|0;z=k[B>>2]|0;if(!z){b=d;d=e;O=v;w=f;P=R;Q=S;n=I;e=g;break d}D=i[bb>>0]|0;F=k[yb>>2]|0;if((E|0)>0){z=0;x=v+((k[f+(g*20|0)+12>>2]|0)*40|0)|0;while(1){k[F+(z<<2)>>2]=x;z=z+1|0;if((z|0)==(E|0))break;else x=x+40|0}z=k[B>>2]|0}x=f+(g*20|0)+3|0;i[bb>>0]=i[x>>0]|0;n=uc[z&31](b,E,F,Ed)|0;i[bb>>0]=D;Rm(a,b);if(!n){if(k[f+(g*20|0)+4>>2]|0){c=Ed;e=k[c>>2]|0;c=k[c+4>>2]|0;Q=je;k[Q>>2]=e;k[Q+4>>2]=c}}else if((n&255|0)==19?(i[(k[C>>2]|0)+16>>0]|0)!=0:0){b=i[x>>0]|0;if(b<<24>>24==5)b=2;else if(b<<24>>24==4){b=d;d=e;O=v;w=f;P=R;Q=S;n=I;e=g;break d}i[be>>0]=b;z=I;P=g;break e}k[rb>>2]=(k[rb>>2]|0)+1;z=I;P=g;break}case 152:{b=k[(k[f+(g*20|0)+16>>2]|0)+8>>2]|0;n=k[f+(g*20|0)+4>>2]|0;o=v+(n*40|0)|0;if(((j[v+(n*40|0)+8>>1]&2)!=0?(i[v+(n*40|0)+10>>0]|0)!=1:0)?(Sd=Gn(o,1)|0,(Sd|0)!=0):0){b=d;d=e;f=Sd;h=q;ee=1309;break c}n=wc[k[(k[b>>2]|0)+76>>2]&127](b,k[v+(n*40|0)+16>>2]|0)|0;Rm(a,b);j[Ud>>1]=j[Ud>>1]&-9;z=I;P=g;break}case 153:{b=d;d=e;n=I;e=g;ee=1257;break d}case 155:{b=d;d=e;ee=1264;break d}case 154:{b=d;d=e;F=I;e=g;ee=1258;break d}default:{b=d;d=e;O=v;w=f;P=R;Q=S;n=I;e=g;break d}}while(0);n:do if((ee|0)==57){ee=0;w=I+8|0;j[w>>1]=2562;k[I+16>>2]=o;k[I+12>>2]=b;i[I+10>>0]=Gc;if((i[f+(g*20|0)+3>>0]|0)!=0?(Q=v+((k[f+(g*20|0)+12>>2]|0)*40|0)|0,!((k[Q>>2]|0)==0&(k[Q+4>>2]|0)==0)):0){j[w>>1]=2576;z=I;P=g}else{z=I;P=g}}else if((ee|0)==536){if(j[Ud>>1]&8){b=d;d=e;f=516;h=q;ee=1309;break c}z=k[f+(g*20|0)+8>>2]|0;E=k[f+(g*20|0)+12>>2]|0;b=k[Td>>2]|0;D=k[b+(E<<4)+4>>2]|0;if(F<<24>>24==55){b=i[(k[b+(E<<4)+12>>2]|0)+76>>0]|0;if((b&255)<(l[Jb>>0]|0)){i[Jb>>0]=b;F=1}else F=1}else F=0;w=f+(g*20|0)+3|0;if(i[w>>0]&4){Q=v+(z*40|0)|0;b=_g(Q)|0;k[Q>>2]=b;k[Q+4>>2]=L;Q=v+(z*40|0)+8|0;j[Q>>1]=m[Q>>1]&48640|4;if((b|0)<2){b=d;d=e;f=q;ee=542;break c}else B=b}else B=z;n=f+(g*20|0)+1|0;z=i[n>>0]|0;if(z<<24>>24==-6){x=k[f+(g*20|0)+16>>2]|0;z=(m[x+8>>1]|0)+(m[x+6>>1]|0)|0}else if(z<<24>>24==-14){z=k[f+(g*20|0)+16>>2]|0;x=0}else{z=0;x=0}b=Cm(a,k[f+(g*20|0)+4>>2]|0,z,E,1)|0;if(!b){u=ce;v=fe;b=d;d=q;ee=1317;break a}i[b+25>>0]=1;Q=b+27|0;i[Q>>0]=i[Q>>0]|8;k[b+28>>2]=B;ee=Dm(D,B,F,x,k[b>>2]|0)|0;k[b+8>>2]=x;i[Q>>0]=((i[n>>0]|0)!=-6&1)<<2&255|i[Q>>0]&-5;n=ee;ee=548}else if((ee|0)==715){ee=0;G=k[(k[Fb>>2]|0)+(k[f+(g*20|0)+4>>2]<<2)>>2]|0;x=k[G+56>>2]|0;do if(!x){n=k[G>>2]|0;b=vm(n)|0;if(!b)if(!(i[n+73>>0]|0)){w=1;b=0}else{w=0;b=_m(n)|0}else w=1;i[G+26>>0]=0;k[G+60>>2]=0;i[G+25>>0]=w;if(!w){z=I;P=g;n=b;break n}}else{do if(!(i[x+56>>0]|0)){b=x+36|0;if(!(k[b>>2]|0)){b=0;ee=756}else{b=Sm(x+64|0,b)|0;ee=755}}else{b=Tm(x)|0;if(!b){Q=x+59|0;o:do if(!(i[Q>>0]|0)){n=0;b=0}else{H=0;w=0;p:while(1){P=x+(H<<6)+64|0;k[ge>>2]=0;O=x+(H<<6)+92|0;z=k[O>>2]|0;F=((z|0)<0)<<31>>31;do if((z|0)>16){E=16;D=0;B=0;while(1){E=nw(E|0,D|0,4)|0;D=L;C=B+1|0;if(!((D|0)<(F|0)|(D|0)==(F|0)&E>>>0<z>>>0)){D=B;break}else B=C}N=Pd;k[N>>2]=0;k[N+4>>2]=0;if((z|0)<17){ee=726;break}n=Vm(16)|0;k[ge>>2]=n;F=(n|0)==0;E=k[O>>2]|0;if(!((E|0)>0&(F^1))){b=F?7:0;break}K=(D|0)>0;N=0;M=0;do{k[nd>>2]=0;b=E-N|0;b=Um(P,(b|0)<16?b:16,Pd,nd)|0;if(b){ee=747;break p}b=Wm(P,k[nd>>2]|0,kd)|0;do if(K){E=1;F=1;do{F=F<<4;E=E+1|0}while((E|0)!=(C|0));if(!b){J=1;E=n}else{F=k[kd>>2]|0;ee=743;break}while(1){o=(k[E+12>>2]|0)+((((M|0)/(F|0)|0|0)%16|0)*56|0)+48|0;E=k[o>>2]|0;if(!E){E=Vm(16)|0;if(!E){b=7;ee=738;break}b=Wm(P,E,o)|0;if(b){ee=738;break}E=k[o>>2]|0}E=k[E+4>>2]|0;J=J+1|0;if((J|0)>=(C|0)){ee=740;break}else F=(F|0)/16|0}if((ee|0)==738){F=k[kd>>2]|0;ee=743;break}else if((ee|0)==740){F=k[kd>>2]|0;ee=742;break}}else{F=k[kd>>2]|0;if(!b){E=n;ee=742}else ee=743}while(0);if((ee|0)==742){ee=0;k[(k[E+12>>2]|0)+(((M|0)%16|0)*56|0)+48>>2]=F;b=0}else if((ee|0)==743){ee=0;Xm(F)}M=M+1|0;N=N+16|0;E=k[O>>2]|0}while((N|0)<(E|0)&(b|0)==0)}else{ee=Pd;k[ee>>2]=0;k[ee+4>>2]=0;ee=726}while(0);if((ee|0)==726){ee=0;b=Um(P,z,Pd,ge)|0;n=k[ge>>2]|0}H=H+1|0;if(b){ee=746;break}if((H|0)>=(l[Q>>0]|0)){b=0;break o}else w=n}if((ee|0)==746)Ym(n);else if((ee|0)==747)Ym(n);Ym(w);n=0}while(0);if(!b){b=Zm(x+64|0,n)|0;k[x+20>>2]=n;if(!b){b=0;ee=755;break}else n=0}Ym(n);ee=755}else ee=756}while(0);if((ee|0)==755){ee=0;i[G+25>>0]=0;z=I;P=g;n=b;break n}else if((ee|0)==756){ee=0;i[G+25>>0]=1;break}}while(0);z=I;P=(k[f+(g*20|0)+8>>2]|0)+-1|0;n=b}else if((ee|0)==765){n=k[(k[Fb>>2]|0)+(k[f+(g*20|0)+4>>2]<<2)>>2]|0;k[Cd>>2]=k[f+(g*20|0)+12>>2];b=n;n=wc[k[f+(g*20|0)+16>>2]&127](k[n>>2]|0,Cd)|0;ee=766}while(0);do if((ee|0)==548){ee=0;i[(k[b>>2]|0)+74>>0]=l[w>>0]&3;z=I;P=g}else if((ee|0)==766){k[b+60>>2]=0;b=b+25|0;if(!(k[Cd>>2]|0)){i[b>>0]=0;ee=(k[f+(g*20|0)+8>>2]|0)+-1|0;g=a+(l[f+(g*20|0)+3>>0]<<2)+108|0;k[g>>2]=(k[g>>2]|0)+1;g=ee;ee=19;break}else{i[b>>0]=1;ee=19;break}}while(0);if((ee|0)==19){ee=0;if(k[zc>>2]|0){h=fe;b=d;d=q;break b}b=k[Zd>>2]|0;if(!((b|0)==0|d>>>0<u>>>0)){u=k[sc>>2]|0;if(!(qc[b&127](k[Vd>>2]|0)|0)){u=u+d-((d>>>0)%(u>>>0)|0)|0;z=I;P=g}else{b=d;f=9;d=q;ee=1311;break a}}else{z=I;P=g}}g=P+1|0;if(!n){b=d;n=z}else{b=d;f=n;d=q;ee=1311;break a}}q:switch(ee|0){case 22:{ee=0;O=k[f+(g*20|0)+4>>2]|0;j[v+(O*40|0)+8>>1]=4;O=v+(O*40|0)|0;k[O>>2]=g;k[O+4>>2]=((g|0)<0)<<31>>31;O=v;w=f;P=R;Q=S;e=(k[f+(g*20|0)+8>>2]|0)+-1|0;break}case 23:{ee=0;O=k[f+(g*20|0)+4>>2]|0;e=k[v+(O*40|0)>>2]|0;j[v+(O*40|0)+8>>1]=128;O=v;w=f;P=R;Q=S;break}case 24:{ee=0;e=k[f+(g*20|0)+4>>2]|0;n=v+(e*40|0)|0;w=(k[f+(g*20|0)+12>>2]|0)+-1|0;O=n;k[O>>2]=w;k[O+4>>2]=((w|0)<0)<<31>>31;j[v+(e*40|0)+8>>1]=4;e=k[f+(g*20|0)+8>>2]|0;O=v;w=f;P=R;Q=S;e=(e|0)==0?g:e+-1|0;break}case 25:{ee=0;O=k[f+(g*20|0)+4>>2]|0;e=(k[f+((k[v+(O*40|0)>>2]|0)*20|0)+8>>2]|0)+-1|0;j[v+(O*40|0)+8>>1]=128;O=v;w=f;P=R;Q=S;break}case 26:{ee=0;O=k[f+(g*20|0)+4>>2]|0;j[v+(O*40|0)+8>>1]=4;O=v+(O*40|0)|0;e=k[O>>2]|0;k[O>>2]=g;k[O+4>>2]=((g|0)<0)<<31>>31;O=v;w=f;P=R;Q=S;break}case 27:{ee=0;if(!(j[v+((k[f+(e*20|0)+12>>2]|0)*40|0)+8>>1]&1)){O=v;w=f;P=R;Q=S}else ee=28;break}case 44:{ee=0;w=k[f+(e*20|0)+4>>2]|0;O=n;k[O>>2]=w;k[O+4>>2]=((w|0)<0)<<31>>31;O=v;w=f;P=R;Q=S;break}case 45:{ee=0;P=k[f+(e*20|0)+16>>2]|0;w=k[P+4>>2]|0;O=n;k[O>>2]=k[P>>2];k[O+4>>2]=w;O=v;w=f;P=R;Q=S;break}case 46:{ee=0;j[n+8>>1]=8;p[n>>3]=+p[k[f+(e*20|0)+16>>2]>>3];O=v;w=f;P=R;Q=S;break}case 60:{ee=0;F=(k[f+(e*20|0)+12>>2]|0)-(k[f+(e*20|0)+8>>2]|0)|0;w=(k[f+(e*20|0)+4>>2]|0)!=0?257:1;j[n+8>>1]=w;if((F|0)>0){o=F;x=n;do{g=x+48|0;x=x+40|0;if(!(j[g>>1]&9312))j[g>>1]=1;else Ag(x);j[g>>1]=w;o=o+-1|0}while((o|0)>0);O=v;w=f;P=R;Q=S;n=n+(F*40|0)|0}else{O=v;w=f;P=R;Q=S}break}case 65:{ee=0;n=k[f+(e*20|0)+4>>2]|0;O=v+(n*40|0)+8|0;j[O>>1]=m[O>>1]&65406|1;O=v;w=f;P=R;Q=S;n=v+(n*40|0)|0;break}case 66:{ee=0;ah(n,k[f+(e*20|0)+16>>2]|0,k[f+(e*20|0)+4>>2]|0,0,0)|0;i[n+10>>0]=Gc;O=v;w=f;P=R;Q=S;break}case 67:{ee=0;z=(k[f+(e*20|0)+4>>2]|0)+-1|0;x=k[xb>>2]|0;o=x+(z*40|0)|0;g=m[x+(z*40|0)+8>>1]|0;if(g&18){w=k[x+(z*40|0)+12>>2]|0;if(g&16384)w=(k[o>>2]|0)+w|0;if((w|0)>(k[(k[x+(z*40|0)+32>>2]|0)+88>>2]|0)){g=e;h=q;ee=1316;break c}}cm(n,o,2048);O=v;w=f;P=R;Q=S;break}case 72:{ee=0;g=k[f+(e*20|0)+12>>2]|0;o=k[f+(e*20|0)+8>>2]|0;F=g+o|0;n=v+((k[f+(e*20|0)+4>>2]|0)*40|0)|0;o=v+(o*40|0)|0;while(1){dm(o,n);g=g+-1|0;if(!g)break;else{n=n+40|0;o=o+40|0}}O=v;w=f;P=R;Q=S;n=v+(F*40|0)|0;break}case 74:{ee=0;e=k[f+(g*20|0)+12>>2]|0;n=v+((k[f+(g*20|0)+4>>2]|0)*40|0)|0;F=v+((k[f+(g*20|0)+8>>2]|0)*40|0)|0;while(1){cm(F,n,4096);if((j[F+8>>1]&4096)!=0?(_l(F)|0)!=0:0){u=ce;v=fe;e=d;d=q;ee=1317;break a}if(!e){O=v;w=f;P=R;Q=S;n=F;e=g;break q}e=e+-1|0;n=n+40|0;F=F+40|0}}case 79:{ee=0;n=v+((k[f+(e*20|0)+8>>2]|0)*40|0)|0;cm(n,v+((k[f+(e*20|0)+4>>2]|0)*40|0)|0,4096);O=v;w=f;P=R;Q=S;break}case 94:{ee=0;G=k[f+(g*20|0)+4>>2]|0;F=v+(G*40|0)|0;H=k[f+(g*20|0)+8>>2]|0;E=v+(H*40|0)|0;I=k[f+(g*20|0)+12>>2]|0;n=v+(I*40|0)|0;D=v+(G*40|0)+8|0;B=j[D>>1]|0;C=v+(H*40|0)+8|0;z=j[C>>1]|0;if((z|B)&1){e=v+(I*40|0)+8|0;if(!(j[e>>1]&9312)){j[e>>1]=1;O=v;w=f;P=R;Q=S;e=g;break}else{Ag(n);O=v;w=f;P=R;Q=S;e=g;break}}if(B&16384){if(Wg(F)|0){u=ce;v=fe;e=d;d=q;ee=1317;break a}z=j[C>>1]|0}if((z&16384)!=0?(Wg(E)|0)!=0:0){u=ce;v=fe;e=d;d=q;ee=1317;break a}if((j[D>>1]&18)==0?(gm(F,Gc,0)|0)!=0:0){u=ce;v=fe;e=d;d=q;ee=1317;break a}if((j[C>>1]&18)==0?(gm(E,Gc,0)|0)!=0:0){u=ce;v=fe;e=d;d=q;ee=1317;break a}B=v+(G*40|0)+12|0;x=v+(H*40|0)+12|0;w=(k[x>>2]|0)+(k[B>>2]|0)|0;if((w|0)>(k[wb>>2]|0)){h=q;ee=1316;break c}e=(I|0)==(H|0);if(jh(n,w+2|0,e&1)|0){u=ce;v=fe;e=d;d=q;ee=1317;break a}o=v+(I*40|0)+8|0;j[o>>1]=m[o>>1]&48640|2;z=v+(I*40|0)+16|0;if(!e)pw(k[z>>2]|0,k[v+(H*40|0)+16>>2]|0,k[x>>2]|0)|0;pw((k[z>>2]|0)+(k[x>>2]|0)|0,k[v+(G*40|0)+16>>2]|0,k[B>>2]|0)|0;i[(k[z>>2]|0)+w>>0]=0;i[(k[z>>2]|0)+(w+1)>>0]=0;j[o>>1]=m[o>>1]|512;k[v+(I*40|0)+12>>2]=w;i[v+(I*40|0)+10>>0]=Gc;O=v;w=f;P=R;Q=S;e=g;break}case 112:{ee=0;J=k[f+(e*20|0)+4>>2]|0;K=v+(J*40|0)|0;O=hm(K)|0;I=k[f+(e*20|0)+8>>2]|0;M=v+(I*40|0)|0;P=hm(M)|0;Q=k[f+(e*20|0)+12>>2]|0;n=v+(Q*40|0)|0;r:do if(!((j[v+(I*40|0)+8>>1]|j[v+(J*40|0)+8>>1])&1)){s:do if(!((O&4&P)<<16>>16))I=0;else{g=K;z=k[g>>2]|0;g=k[g+4>>2]|0;C=M;w=k[C>>2]|0;C=k[C+4>>2]|0;F=l[N>>0]|0;t:do if((F|0)==89){if((g|0)>-1|(g|0)==-1&z>>>0>4294967295){J=iw(-1,2147483647,w|0,C|0)|0;I=L;if(((C|0)>0|(C|0)==0&w>>>0>0)&((I|0)<(g|0)|(I|0)==(g|0)&J>>>0<z>>>0)){I=1;break s}}else if((C|0)<0?(I=iw(1,-2147483648,w|0,C|0)|0,H=L,J=ow(z|0,g|0,1,0)|0,o=L,(H|0)>(o|0)|(H|0)==(o|0)&I>>>0>J>>>0):0){I=1;break s}w=ow(w|0,C|0,z|0,g|0)|0;g=L}else if((F|0)==91){I=vw(w|0,C|0,0,1)|0;o=L;E=ww(w|0,C|0,0,1)|0;F=L;H=vw(z|0,g|0,0,1)|0;x=L;G=ww(z|0,g|0,0,1)|0;J=L;D=ow(w|0,C|0,-1,0)|0;le=L;B=ow(z|0,g|0,-1,0)|0;me=L;B=me>>>0<1|(me|0)==1&B>>>0<4294967295;do if(le>>>0<1|(le|0)==1&D>>>0<4294967295)if(B){w=xw(w|0,C|0,z|0,g|0)|0;g=L;break t}else{D=xw(H|0,x|0,E|0,F|0)|0;C=L;break}else{if(!B){I=1;break s}D=xw(G|0,J|0,I|0,o|0)|0;C=L}while(0);I=ow(D|0,C|0,-2147483648,0)|0;o=L;if(o>>>0>0|(o|0)==0&I>>>0>4294967295){I=1;break s}F=xw(G|0,J|0,E|0,F|0)|0;E=L;if((E|0)>-1|(E|0)==-1&F>>>0>4294967295){J=iw(-1,2147483647,0,D|0)|0;I=L;if(((C|0)>0|(C|0)==0&D>>>0>0)&((I|0)<(E|0)|(I|0)==(E|0)&J>>>0<F>>>0)){I=1;break s}}else if((C|0)<0?(I=iw(1,-2147483648,0,D|0)|0,g=L,J=ow(F|0,E|0,1,0)|0,o=L,(g|0)>(o|0)|(g|0)==(o|0)&I>>>0>J>>>0):0){I=1;break s}w=ow(0,D|0,F|0,E|0)|0;g=L}else if((F|0)==90){if((z|0)==0&(g|0)==-2147483648){if((C|0)>-1|(C|0)==-1&w>>>0>4294967295){I=1;break s}g=C^-2147483648;break}if((g|0)<0|(g|0)==0&z>>>0<1){J=iw(0,0,z|0,g|0)|0;o=L;I=iw(-1,2147483647,w|0,C|0)|0;H=L;if(((C|0)>0|(C|0)==0&w>>>0>0)&((H|0)<(o|0)|(H|0)==(o|0)&I>>>0<J>>>0)){I=1;break s}}else if((C|0)<0?(I=iw(1,-2147483648,w|0,C|0)|0,H=L,J=iw(1,0,z|0,g|0)|0,o=L,(H|0)>(o|0)|(H|0)==(o|0)&I>>>0>J>>>0):0){I=1;break s}w=iw(w|0,C|0,z|0,g|0)|0;g=L}else if((F|0)==92){if((z|0)==0&(g|0)==0)break r;if((z|0)==-1&(g|0)==-1&((w|0)==0&(C|0)==-2147483648)){I=1;break s}w=vw(w|0,C|0,z|0,g|0)|0;g=L}else{if((z|0)==-1){if((g|0)==-1){z=1;g=0}}else if((z|0)==0?(g|0)==0:0)break r;w=ww(w|0,C|0,z|0,g|0)|0;g=L}while(0);O=n;k[O>>2]=w;k[O+4>>2]=g;O=v+(Q*40|0)+8|0;j[O>>1]=m[O>>1]&48640|4;O=v;w=f;P=R;Q=S;break q}while(0);A=+Zg(K);y=+Zg(M);z=l[N>>0]|0;if((z|0)==89)y=A+y;else if((z|0)==90)y=y-A;else if((z|0)==91)y=A*y;else if((z|0)==92){if(A==0.0)break;y=y/A}else{B=~~A>>>0;z=+W(A)>=1.0?(A>0.0?~~+ia(+V(A/4294967296.0),4294967295.0)>>>0:~~+ga((A-+(~~A>>>0))/4294967296.0)>>>0):0;E=~~y>>>0;F=+W(y)>=1.0?(y>0.0?~~+ia(+V(y/4294967296.0),4294967295.0)>>>0:~~+ga((y-+(~~y>>>0))/4294967296.0)>>>0):0;if(!B){if(!z)break}else if((B|0)==-1?(z|0)==-1:0){B=1;z=0}N=ww(E|0,F|0,B|0,z|0)|0;y=+(N>>>0)+4294967296.0*+(L|0)}p[ge>>3]=y;p[Pd>>3]=+p[ge>>3];if(!(+p[ge>>3]!=+p[Pd>>3])){p[n>>3]=y;Q=v+(Q*40|0)+8|0;j[Q>>1]=m[Q>>1]&48640|8;if(((P|O)&8)!=0|I<<24>>24!=0){O=v;w=f;P=R;Q=S;break q}im(n);O=v;w=f;P=R;Q=S;break q}}while(0);g=v+(Q*40|0)+8|0;if(!(j[g>>1]&9312)){j[g>>1]=1;O=v;w=f;P=R;Q=S;break}else{Ag(n);O=v;w=f;P=R;Q=S;break}}case 166:{ee=0;g=k[f+(e*20|0)+4>>2]|0;if(g){n=v+(g*40|0)|0;g=v+(g*40|0)+8|0;if(!(j[g>>1]&9312)){O=n;k[O>>2]=0;k[O+4>>2]=0;j[g>>1]=4;O=v;w=f;P=R;Q=S;n=F;break}else{ch(n,0,0);O=v;w=f;P=R;Q=S;n=F;break}}else{O=v;w=f;P=R;Q=S;n=F}break}case 184:{ee=0;z=k[f+(e*20|0)+4>>2]|0;w=k[f+(e*20|0)+8>>2]|0;o=k[f+(e*20|0)+12>>2]|0;n=v+(o*40|0)|0;if((j[v+(w*40|0)+8>>1]|j[v+(z*40|0)+8>>1])&1){g=v+(o*40|0)+8|0;if(!(j[g>>1]&9312)){j[g>>1]=1;O=v;w=f;P=R;Q=S;break}else{Ag(n);O=v;w=f;P=R;Q=S;break}}x=_g(v+(w*40|0)|0)|0;I=L;F=_g(v+(z*40|0)|0)|0;E=L;w=i[D>>0]|0;z=w&255;do if(w<<24>>24==86){x=F|x;g=E|I}else if(w<<24>>24!=85)if(!((F|0)==0&(E|0)==0)){if((E|0)<0){w=175-z&255;z=iw(0,0,F|0,E|0)|0;if((E|0)>-1|(E|0)==-1&F>>>0>4294967232){E=L;ee=194}}else{z=F;ee=194}if((ee|0)==194){ee=0;if(!((E|0)>0|(E|0)==0&z>>>0>63)){if(w<<24>>24==87){x=nw(x|0,I|0,z|0)|0;g=L;break}x=rw(x|0,I|0,z|0)|0;g=L;if((I|0)>=0)break;Q=iw(64,0,z|0,E|0)|0;Q=nw(-1,-1,Q|0)|0;x=Q|x;g=L|g;break}}if((I|0)>-1|(I|0)==-1&x>>>0>4294967295){x=0;g=0}else{g=(w<<24>>24!=87)<<31>>31;x=g;g=((g|0)<0)<<31>>31}}else g=I;else{x=F&x;g=E&I}while(0);O=n;k[O>>2]=x;k[O+4>>2]=g;O=v+(o*40|0)+8|0;j[O>>1]=m[O>>1]&48640|4;O=v;w=f;P=R;Q=S;break}case 202:{ee=0;w=k[f+(e*20|0)+4>>2]|0;O=v+(w*40|0)|0;P=_g(O)|0;w=v+(w*40|0)+8|0;j[w>>1]=m[w>>1]&48640|4;w=k[f+(e*20|0)+8>>2]|0;w=ow(P|0,L|0,w|0,((w|0)<0)<<31>>31|0)|0;k[O>>2]=w;k[O+4>>2]=L;O=v;w=f;P=R;Q=S;break}case 203:{ee=0;n=k[f+(e*20|0)+4>>2]|0;w=v+(n*40|0)+8|0;g=j[w>>1]|0;if(!(g&4)){km(v+(n*40|0)|0,67,Gc);g=j[w>>1]|0;if(!(g&4)){B=k[f+(e*20|0)+8>>2]|0;if(!B){g=e;h=20;ee=1318;break c}O=v;w=f;P=R;Q=S;n=F;e=B+-1|0;break}}j[w>>1]=g&48640|4;O=v;w=f;P=R;Q=S;n=F;break}case 208:{ee=0;g=k[f+(e*20|0)+4>>2]|0;n=v+(g*40|0)+8|0;if(!(j[n>>1]&4)){O=v;w=f;P=R;Q=S;n=F}else{O=v+(g*40|0)|0;y=+Zg(O);p[O>>3]=y;j[n>>1]=m[n>>1]&48640|8;O=v;w=f;P=R;Q=S;n=F}break}case 213:{ee=0;K=k[f+(g*20|0)+4>>2]|0;I=v+(K*40|0)|0;G=k[f+(g*20|0)+12>>2]|0;o=v+(G*40|0)|0;K=v+(K*40|0)+8|0;H=j[K>>1]|0;G=v+(G*40|0)+8|0;J=j[G>>1]|0;D=H&65535;w=J&65535;C=f+(g*20|0)+3|0;F=l[C>>0]|0;do if(!((J|H)&1)){F=F&71;if(F>>>0>66){if((D&14|0)==2){wh(I,0);x=j[G>>1]|0}else x=J;if((x&14)==2){wh(o,0);F=H;B=J}else{F=H;B=J}}else if((F|0)==66){if((D&2|0)!=0|(D&12|0)==0){E=J;F=H}else{gm(I,Gc,1)|0;E=j[G>>1]|0;F=(m[K>>1]&65024|D&511)&65535}Q=E&65535;if((Q&2|0)!=0|(Q&12|0)==0)B=J;else{gm(o,Gc,1)|0;B=(m[G>>1]&65024|w&511)&65535}}else{F=H;B=J}if(j[K>>1]&16384){Wg(I)|0;F=F&49151}if(j[G>>1]&16384){Wg(o)|0;B=B&49151}if(i[ce>>0]|0){u=ce;v=fe;e=d;d=q;ee=1317;break a}Q=mm(o,I,k[f+(g*20|0)+16>>2]|0)|0;E=i[z>>0]|0;e=g;z=Q}else{if(F&128){F=H;B=J;e=g;z=(H&1&J)<<16>>16!=0&(w&256|0)==0&1^1;break}if(F&32){n=k[f+(g*20|0)+8>>2]|0;O=v+(n*40|0)+8|0;j[O>>1]=m[O>>1]&48640|1;O=v;w=f;P=R;Q=S;n=v+(n*40|0)|0;e=g;break q}if(!(F&16)){O=v;w=f;P=R;Q=S;e=g;break q}O=v;w=f;P=R;Q=S;e=(k[f+(g*20|0)+8>>2]|0)+-1|0;break q}while(0);switch(E&255|0){case 79:{z=(z|0)==0&1;break}case 78:{z=(z|0)!=0&1;break}case 82:{z=z>>>31;break}case 81:{z=(z|0)<1&1;break}case 80:{z=(z|0)>0&1;break}default:z=z>>>31^1}if(!(i[C>>0]&32)){if(z)e=(k[f+(e*20|0)+8>>2]|0)+-1|0}else{Q=k[f+(e*20|0)+8>>2]|0;n=v+(Q*40|0)|0;Q=v+(Q*40|0)+8|0;j[Q>>1]=m[Q>>1]&48640|4;Q=n;k[Q>>2]=z;k[Q+4>>2]=0}j[K>>1]=F;j[G>>1]=B;O=v;w=f;P=R;Q=S;break}case 248:{ee=0;O=v;w=f;P=k[f+(e*20|0)+16>>2]|0;Q=S;break}case 249:{ee=0;o=(i[f+(e*20|0)+3>>0]&1)==0?0:R;C=k[f+(e*20|0)+12>>2]|0;D=k[f+(e*20|0)+16>>2]|0;E=k[f+(e*20|0)+4>>2]|0;F=k[f+(e*20|0)+8>>2]|0;if((C|0)>0){w=(o|0)==0;g=D+16|0;B=0;while(1){if(w)x=B;else x=k[o+(B<<2)>>2]|0;z=i[(k[g>>2]|0)+B>>0]|0;x=mm(v+((x+E|0)*40|0)|0,v+((x+F|0)*40|0)|0,k[D+(B<<2)+20>>2]|0)|0;B=B+1|0;if(x)break;if((B|0)>=(C|0)){O=v;w=f;P=0;Q=0;break q}}O=v;w=f;P=0;Q=z<<24>>24==0?x:0-x|0}else{O=v;w=f;P=0;Q=S}break}case 256:{ee=0;if((S|0)<0){O=v;w=f;P=R;Q=S;e=(k[f+(g*20|0)+4>>2]|0)+-1|0;break}if(!S){O=v;w=f;P=R;Q=0;e=(k[f+(g*20|0)+8>>2]|0)+-1|0;break}else{O=v;w=f;P=R;Q=S;e=(k[f+(g*20|0)+12>>2]|0)+-1|0;break}}case 261:{ee=0;g=k[f+(e*20|0)+4>>2]|0;if(!(j[v+(g*40|0)+8>>1]&1)){n=_g(v+(g*40|0)|0)|0;n=(n|0)!=0|(L|0)!=0?3:0}else n=6;g=k[f+(e*20|0)+8>>2]|0;if(!(j[v+(g*40|0)+8>>1]&1)){g=_g(v+(g*40|0)|0)|0;g=((g|0)!=0|(L|0)!=0)&1}else g=2;g=i[((i[z>>0]|0)==72?41680:41696)+(g+n)>>0]|0;n=k[f+(e*20|0)+12>>2]|0;F=v+(n*40|0)|0;if(g<<24>>24==2){O=v+(n*40|0)+8|0;j[O>>1]=m[O>>1]&48640|1;O=v;w=f;P=R;Q=S;n=F;break}else{O=F;k[O>>2]=g&255;k[O+4>>2]=0;O=v+(n*40|0)+8|0;j[O>>1]=m[O>>1]&48640|4;O=v;w=f;P=R;Q=S;n=F;break}}case 268:{ee=0;g=k[f+(e*20|0)+4>>2]|0;n=k[f+(e*20|0)+8>>2]|0;F=v+(n*40|0)|0;n=v+(n*40|0)+8|0;if(!(j[n>>1]&9312))j[n>>1]=1;else Ag(F);if(!(j[v+(g*40|0)+8>>1]&1)){j[n>>1]=4;w=_g(v+(g*40|0)|0)|0;O=F;k[O>>2]=(w|0)==0&(L|0)==0&1;k[O+4>>2]=0;O=v;w=f;P=R;Q=S;n=F}else{O=v;w=f;P=R;Q=S;n=F}break}case 273:{ee=0;g=k[f+(e*20|0)+4>>2]|0;n=k[f+(e*20|0)+8>>2]|0;F=v+(n*40|0)|0;n=v+(n*40|0)+8|0;if(!(j[n>>1]&9312))j[n>>1]=1;else Ag(F);if(!(j[v+(g*40|0)+8>>1]&1)){j[n>>1]=4;w=_g(v+(g*40|0)|0)|0;O=F;k[O>>2]=~w;k[O+4>>2]=~L;O=v;w=f;P=R;Q=S;n=F}else{O=v;w=f;P=R;Q=S;n=F}break}case 278:{ee=0;g=(k[Eb>>2]|0)+(k[f+(e*20|0)+4>>2]|0)|0;if(!(i[g>>0]|0)){i[g>>0]=1;O=v;w=f;P=R;Q=S;break}else{O=v;w=f;P=R;Q=S;e=(k[f+(e*20|0)+8>>2]|0)+-1|0;break}}case 281:{ee=0;g=k[f+(e*20|0)+4>>2]|0;if(!(j[v+(g*40|0)+8>>1]&1)){g=+Zg(v+(g*40|0)|0)!=0.0;g=(g^(i[z>>0]|0)==46)&1}else g=k[f+(e*20|0)+12>>2]|0;if(!g){O=v;w=f;P=R;Q=S}else{O=v;w=f;P=R;Q=S;e=(k[f+(e*20|0)+8>>2]|0)+-1|0}break}case 286:{ee=0;if(!(j[v+((k[f+(e*20|0)+4>>2]|0)*40|0)+8>>1]&1)){O=v;w=f;P=R;Q=S}else{O=v;w=f;P=R;Q=S;e=(k[f+(e*20|0)+8>>2]|0)+-1|0}break}case 288:{ee=0;if(!(j[v+((k[f+(e*20|0)+4>>2]|0)*40|0)+8>>1]&1)){O=v;w=f;P=R;Q=S;e=(k[f+(e*20|0)+8>>2]|0)+-1|0}else{O=v;w=f;P=R;Q=S}break}case 290:{ee=0;P=k[f+(g*20|0)+8>>2]|0;x=k[f+(g*20|0)+12>>2]|0;B=v+(x*40|0)|0;O=k[(k[Fb>>2]|0)+(k[f+(g*20|0)+4>>2]<<2)>>2]|0;H=k[O+80>>2]|0;w=k[O>>2]|0;if(!(i[O+26>>0]|0)){if((w|0)!=0?(i[w+73>>0]|0)!=1:0){Qd=om(O)|0;ee=295}}else{Qd=nm(O)|0;ee=295}if((ee|0)==295?(ee=0,(Qd|0)!=0):0){h=Qd;ee=1318;break c}I=O+60|0;z=k[Xd>>2]|0;u:do if((k[I>>2]|0)==(z|0)){z=j[O+22>>1]|0;if((z&65535|0)>(P|0))ee=350;else{E=O+72|0;ee=318}}else{do if(i[O+25>>0]|0){if(!w){F=k[O+16>>2]|0;C=k[v+(F*40|0)+12>>2]|0;k[O+68>>2]=C;k[O+64>>2]=C;F=k[v+(F*40|0)+16>>2]|0;o=O+76|0;k[o>>2]=F;break}e=v+(x*40|0)+8|0;if(!(j[e>>1]&9312)){j[e>>1]=1;break u}else{Ag(B);break u}}else{if(!(i[O+27>>0]&4)){pm(w,qd);E=m[w+40>>1]|0;F=k[w+32>>2]|0;k[O+76>>2]=F;z=k[qd>>2]|0;k[O+64>>2]=z}else{z=O+64|0;qm(w,z);E=m[w+40>>1]|0;F=k[w+32>>2]|0;k[O+76>>2]=F;z=k[z>>2]|0}k[O+68>>2]=z>>>0>E>>>0?E:z;if(z>>>0>(k[wb>>2]|0)>>>0){h=q;ee=1316;break c}o=O+76|0;z=k[Xd>>2]|0;C=E}while(0);k[I>>2]=z;z=i[F>>0]|0;if(z<<24>>24>-1){D=z&255;k[cd>>2]=D;F=1}else{F=rm(F,cd)|0;D=k[cd>>2]|0}E=O+72|0;k[E>>2]=F&255;j[O+22>>1]=0;k[H>>2]=D;if(D>>>0>98307){h=q;ee=313;break c}if(D>>>0>(k[O+64>>2]|0)>>>0){h=q;ee=313;break c}if(C>>>0<D>>>0){k[o>>2]=0;k[O+68>>2]=0;z=0;ee=318}else{z=0;ee=318}}while(0);do if((ee|0)==318){ee=0;F=k[E>>2]|0;D=k[H>>2]|0;if(F>>>0<D>>>0){N=O+76|0;C=k[N>>2]|0;if(!C){Q=Gd+0|0;C=Q+40|0;do{k[Q>>2]=0;Q=Q+4|0}while((Q|0)<(C|0));F=sm(w,0,k[H>>2]|0,((l[O+27>>0]|0)>>>2&1^1)&255,Gd)|0;if(F){f=F;h=q;ee=1309;break c}z=O+22|0;M=z;z=j[z>>1]|0;F=k[E>>2]|0;D=k[H>>2]|0;K=k[Gb>>2]|0}else{M=O+22|0;K=C}o=z&65535;J=k[H+(o<<2)>>2]|0;k[cd>>2]=J;e=K+D|0;F=K+F|0;while(1){C=i[F>>0]|0;if(C<<24>>24>-1){I=C&255;k[Id>>2]=I;F=F+1|0}else{F=F+((rm(F,Id)|0)&255)|0;I=k[Id>>2]|0}k[O+(o<<2)+84>>2]=I;if(I>>>0>11)C=(I+-12|0)>>>1;else C=l[34336+I>>0]|0;I=J+C|0;k[cd>>2]=I;if(I>>>0<J>>>0){F=I;C=o;ee=331;break}C=o+1|0;k[H+(C<<2)>>2]=I;if((o|0)<(P|0)&F>>>0<e>>>0){J=I;o=C}else break}if((ee|0)==331){ee=0;I=F;F=K+(D+1)|0}j[M>>1]=C;k[E>>2]=F-K;if(!(k[N>>2]|0)){if(!((j[Hb>>1]&9312)==0&(k[Ib>>2]|0)==0))Vg(Gd);j[Hb>>1]=1}if(F>>>0>=e>>>0){if(F>>>0>e>>>0){h=q;ee=343;break c}if((I|0)==(k[O+64>>2]|0))z=I;else{h=q;ee=343;break c}}else z=k[O+64>>2]|0;if(I>>>0>z>>>0){h=q;ee=343;break c}z=j[M>>1]|0}if((z&65535|0)<=(P|0)){if((i[f+(g*20|0)+1>>0]|0)==-8){cm(B,k[f+(g*20|0)+16>>2]|0,2048);e=v+(x*40|0)+8|0;break}e=v+(x*40|0)+8|0;if(!(j[e>>1]&9312)){j[e>>1]=1;break}else{Ag(B);break}}else ee=350}while(0);if((ee|0)==350){ee=0;e=v+(x*40|0)+8|0;if(j[e>>1]&9312)Ag(B);F=k[O+(P<<2)+84>>2]|0;k[Id>>2]=F;do if((k[O+68>>2]|0)>>>0<(k[H+(P+1<<2)>>2]|0)>>>0){Q=i[f+(g*20|0)+3>>0]|0;if(!((Q&255)>63?F>>>0>11&(F&1|0)==0|Q<<24>>24<0:0)){if(F>>>0>11)z=(F+-12|0)>>>1;else z=l[34336+F>>0]|0;if(z){z=sm(w,k[H+(P<<2)>>2]|0,z,((l[O+27>>0]|0)>>>2&1^1)&255,B)|0;if(z){f=z;h=q;ee=1309;break c}tm(k[v+(x*40|0)+16>>2]|0,F,B)|0;j[e>>1]=m[e>>1]&61439;break}}tm(F>>>0<14?qd:0,F,B)|0}else tm((k[O+76>>2]|0)+(k[H+(P<<2)>>2]|0)|0,F,B)|0;while(0);i[v+(x*40|0)+10>>0]=Gc}w=m[e>>1]|0;if((w&4096|0)!=0?(vc=v+(x*40|0)+16|0,xc=k[vc>>2]|0,(xc|0)!=0):0){o=k[v+(x*40|0)+12>>2]|0;if(kh(B,o+2|0)|0){u=ce;v=fe;e=d;d=q;ee=1317;break a}pw(k[vc>>2]|0,xc|0,o|0)|0;i[(k[vc>>2]|0)+o>>0]=0;i[(k[vc>>2]|0)+(o+1)>>0]=0;j[e>>1]=w&18|512;O=v;w=f;P=R;Q=S;e=g}else{O=v;w=f;P=R;Q=S;e=g}break}case 368:{ee=0;o=k[f+(e*20|0)+16>>2]|0;g=i[o>>0]|0;if(!(g<<24>>24)){O=v;w=f;P=R;Q=S}else{w=v+((k[f+(e*20|0)+4>>2]|0)*40|0)|0;while(1){o=o+1|0;km(w,g,Gc);g=i[o>>0]|0;if(!(g<<24>>24)){O=v;w=f;P=R;Q=S;break}else w=w+40|0}}break}case 371:{ee=0;P=k[f+(g*20|0)+4>>2]|0;z=k[f+(g*20|0)+16>>2]|0;Q=v+(P*40|0)|0;P=v+((P+-1+(k[f+(g*20|0)+8>>2]|0)|0)*40|0)|0;x=i[Jb>>0]|0;O=k[f+(g*20|0)+12>>2]|0;n=v+(O*40|0)|0;if(z){w=i[z>>0]|0;e=Q;while(1){z=z+1|0;km(e,w,Gc);w=i[z>>0]|0;if(!(w<<24>>24))break;else e=e+40|0}}K=(x&255)>3;I=0;o=0;M=0;e=0;H=P;while(1){J=j[H+8>>1]|0;E=J&65535;v:do if(!(E&1)){do if(!(E&4)){if(E&8){F=7;ee=388;break v}F=k[H+12>>2]|0;if(E&16384)F=(k[H>>2]|0)+F|0;F=(F<<1)+12|E>>>1&1}else{E=H;F=k[E>>2]|0;E=k[E+4>>2]|0;D=jw(F|0,E|0,63)|0;D=D^F;C=L^E;if(C>>>0<0|(C|0)==0&D>>>0<128){if(!((F&1|0)==(F|0)&0==(E|0)&K)){F=1;ee=388;break v}F=D+8|0;break}if(C>>>0<0|(C|0)==0&D>>>0<32768){F=2;ee=388;break v}if(C>>>0<0|(C|0)==0&D>>>0<8388608){F=3;ee=388;break v}if(C>>>0<0|(C|0)==0&D>>>0<2147483648){F=4;ee=388;break v}F=C>>>0<32768|(C|0)==32768&D>>>0<0?5:6;ee=388;break v}while(0);k[H+28>>2]=F;if(F>>>0>11){E=F;F=(F+-12|0)>>>1}else ee=391}else{F=0;ee=388}while(0);if((ee|0)==388){k[H+28>>2]=F;ee=391}if((ee|0)==391){ee=0;E=F;F=l[34336+F>>0]|0}do if(J&16384)if((I|0)==0&(o|0)==0){J=k[H>>2]|0;F=F-J|0;J=J+e|0;break}else{Wg(H)|0;J=e;break}else J=e;while(0);I=ow(F|0,((F|0)<0)<<31>>31|0,I|0,o|0)|0;o=L;if(E>>>0<128)F=1;else{D=0;F=0;do{F=F+1|0;E=rw(E|0,D|0,7)|0;D=L}while(((E|0)!=0|(D|0)!=0)&(F|0)<9)}F=F+M|0;H=H+-40|0;if(H>>>0<Q>>>0){C=F;break}else{M=F;e=J}}if((C|0)<127)E=C+1|0;else{E=C;D=((C|0)<0)<<31>>31;F=0;do{F=F+1|0;E=rw(E|0,D|0,7)|0;D=L}while(((E|0)!=0|(D|0)!=0)&(F|0)<9);C=F+C|0;E=C;D=((C|0)<0)<<31>>31;z=0;do{z=z+1|0;E=rw(E|0,D|0,7)|0;D=L}while(((E|0)!=0|(D|0)!=0)&(z|0)<9);E=((F|0)<(z|0)&1)+C|0}F=((E|0)<0)<<31>>31;e=ow(E|0,F|0,I|0,o|0)|0;K=L;N=k[wb>>2]|0;M=((N|0)<0)<<31>>31;if((K|0)>(M|0)|(K|0)==(M|0)&e>>>0>N>>>0){h=q;ee=1316;break c}if(kh(n,e)|0){u=ce;v=fe;e=d;d=q;ee=1317;break a}H=k[v+(O*40|0)+16>>2]|0;if(E>>>0<128){i[H>>0]=E;o=1;I=Q}else{o=(um(H,E,F)|0)&255;I=Q}while(1){D=k[I+28>>2]|0;if(D>>>0<128){i[H+o>>0]=D;F=1}else F=(um(H+o|0,D,0)|0)&255;o=F+o|0;F=H+E|0;if(!(D>>>0<8&(D|0)!=0))if(D>>>0>11){z=k[I+12>>2]|0;pw(F|0,k[I+16>>2]|0,z|0)|0}else z=0;else{F=I;if(D>>>0>11)z=(D+-12|0)>>>1;else z=l[34336+D>>0]|0;C=k[F>>2]|0;F=k[F+4>>2]|0;D=z;while(1){D=D+-1|0;i[H+(D+E)>>0]=C;C=rw(C|0,F|0,8)|0;if(!D)break;else F=L}}I=I+40|0;if(I>>>0>P>>>0)break;else E=z+E|0}k[v+(O*40|0)+12>>2]=e;e=v+(O*40|0)+8|0;j[e>>1]=16;if(J){k[n>>2]=J;j[e>>1]=16400}i[v+(O*40|0)+10>>0]=1;O=v;w=f;P=R;Q=S;e=g;break}case 446:{ee=0;if((k[Yd>>2]|0)>0){h=q;ee=447;break c}if(!o)w=0;else{g=o;while(1)if(!(i[g>>0]|0))break;else g=g+1|0;w=g-o&1073741823}z=xm(he,0,(k[Lb>>2]|0)+(k[Kb>>2]|0)|0)|0;if(z){g=e;h=z;ee=1318;break c}g=rh(he,w+33|0,0)|0;if(!g){O=v;w=f;P=R;Q=S}else{Q=g+32|0;k[g>>2]=Q;pw(Q|0,o|0,w+1|0)|0;if(!(i[ae>>0]|0))k[Lb>>2]=(k[Lb>>2]|0)+1;else{i[ae>>0]=0;i[Pb>>0]=1}k[g+24>>2]=k[Mb>>2];k[Mb>>2]=g;O=Nb;w=k[O+4>>2]|0;P=g+8|0;k[P>>2]=k[O>>2];k[P+4>>2]=w;P=Ob;w=k[P+4>>2]|0;O=g+16|0;k[O>>2]=k[P>>2];k[O+4>>2]=w;O=v;w=f;P=R;Q=S}break}case 486:{k[Lb>>2]=(k[Lb>>2]|0)+-1;ee=488;break}case 525:{ee=0;Bm(k[(k[Td>>2]|0)+(k[f+(e*20|0)+4>>2]<<4)+4>>2]|0,k[f+(e*20|0)+12>>2]|0,Uc);w=k[Uc>>2]|0;O=n;k[O>>2]=w;k[O+4>>2]=((w|0)<0)<<31>>31;O=v;w=f;P=R;Q=S;break}case 558:{ee=0;n=Cm(a,k[f+(g*20|0)+4>>2]|0,k[f+(g*20|0)+8>>2]|0,-1,1)|0;if(!n){u=ce;v=fe;e=d;d=q;ee=1317;break a}w=k[f+(g*20|0)+16>>2]|0;z=n+8|0;k[z>>2]=w;x=k[f+(g*20|0)+12>>2]|0;w=m[w+6>>1]<<2;e=w+148|0;o=rh(he,e,0)|0;if(!o){f=n;h=q;ee=560;break c}kw(o|0,0,e|0)|0;k[n+56>>2]=o;Q=o+128|0;k[o+28>>2]=Q;pw(Q|0,k[z>>2]|0,w+20|0)|0;k[o+140>>2]=0;if(x)j[o+134>>1]=x;e=k[Td>>2]|0;n=k[(k[(k[e+4>>2]|0)+4>>2]|0)+32>>2]|0;k[o+12>>2]=n;i[o+59>>0]=1;i[o+57>>0]=0;k[o+24>>2]=he;k[o+72>>2]=o;if(((i[Xb>>0]|0)!=2?(Ac=k[2242]|0,Q=ha(Ac,n)|0,k[o>>2]=Q,Q=k[(k[e+12>>2]|0)+80>>2]|0,Q=(Q|0)<(Ac|0)?Ac:Q,Ac=((n|0)<0)<<31>>31,Q=xw(Q|0,((Q|0)<0)<<31>>31|0,n|0,Ac|0)|0,P=L,k[o+4>>2]=(P|0)<0|(P|0)==0&Q>>>0<536870912?Q:536870912,(k[2234]|0)==0):0)?(k[o+52>>2]=n,Q=vg(n,Ac)|0,k[o+40>>2]=Q,(Q|0)==0):0){f=7;h=q;ee=1309;break c}else{O=v;w=f;P=R;Q=S;n=I;e=g}break}case 566:{ee=0;O=(k[(k[Fb>>2]|0)+(k[f+(e*20|0)+4>>2]<<2)>>2]|0)+40|0;Q=O;P=k[Q>>2]|0;Q=k[Q+4>>2]|0;N=ow(P|0,Q|0,1,0)|0;k[O>>2]=N;k[O+4>>2]=L;if((P|0)==0&(Q|0)==0){O=v;w=f;P=R;Q=S;e=(k[f+(e*20|0)+8>>2]|0)+-1|0}else{O=v;w=f;P=R;Q=S}break}case 568:{ee=0;e=Cm(a,k[f+(g*20|0)+4>>2]|0,k[f+(g*20|0)+12>>2]|0,-1,0)|0;if(!e){u=ce;v=fe;e=d;d=q;ee=1317;break a}i[e+25>>0]=1;k[e+16>>2]=k[f+(g*20|0)+8>>2];O=e+27|0;i[O>>0]=i[O>>0]|4;O=v;w=f;P=R;Q=S;e=g;break}case 570:{ee=0;O=f+(e*20|0)+4|0;Gm(a,k[(k[Fb>>2]|0)+(k[O>>2]<<2)>>2]|0);k[(k[Fb>>2]|0)+(k[O>>2]<<2)>>2]=0;O=v;w=f;P=R;Q=S;break}case 571:{ee=0;I=k[(k[Fb>>2]|0)+(k[f+(e*20|0)+4>>2]<<2)>>2]|0;i[I+25>>0]=0;if(!(i[I+27>>0]&4)){Q=k[f+(e*20|0)+16>>2]|0;k[td>>2]=k[I+8>>2];j[Yb>>1]=Q;i[Zb>>0]=(w<<1&2^2)+255;Q=k[f+(e*20|0)+12>>2]|0;g=v+(Q*40|0)|0;k[_b>>2]=g;if(j[v+(Q*40|0)+8>>1]&16384)Wg(g)|0;z=Hm(k[I>>2]|0,td,0,0,0,xd)|0;if(z){g=e;h=z;ee=1318;break c}}else{z=k[f+(e*20|0)+12>>2]|0;x=v+(z*40|0)|0;z=v+(z*40|0)+8|0;if((j[z>>1]&14)==2)wh(x,0);F=_g(x)|0;E=L;z=m[z>>1]|0;do if(!(z&4)){if(!(z&8)){O=v;w=f;P=R;Q=S;e=(k[f+(e*20|0)+8>>2]|0)+-1|0;break q}y=+p[x>>3];A=+(F>>>0)+4294967296.0*+(E|0);if(y<A){w=(w<<31>>31)+w|0;break}else{w=(y>A&(w&1|0)==0&1)+w|0;break}}while(0);z=Hm(k[I>>2]|0,0,F,E,0,xd)|0;Q=I+48|0;k[Q>>2]=F;k[Q+4>>2]=E;if(z){g=e;h=z;ee=1318;break c}}i[I+26>>0]=0;k[I+60>>2]=0;g=k[xd>>2]|0;do if((w|0)>63){if((g|0)>=0?!((g|0)==0&(w|0)==65):0){k[xd>>2]=0;O=v;w=f;P=R;Q=S;break q}k[xd>>2]=0;o=Im(k[I>>2]|0,xd)|0;if(!o)ee=593;else{g=e;h=o;ee=1318;break c}}else{if((g|0)<=0?!((g|0)==0&(w|0)==62):0){g=(i[(k[I>>2]|0)+73>>0]|0)!=1&1;k[xd>>2]=g;break}k[xd>>2]=0;o=Jm(k[I>>2]|0,xd)|0;if(!o)ee=593;else{g=e;h=o;ee=1318;break c}}while(0);if((ee|0)==593){ee=0;g=k[xd>>2]|0}if(!g){O=v;w=f;P=R;Q=S}else{O=v;w=f;P=R;Q=S;e=(k[f+(e*20|0)+8>>2]|0)+-1|0}break}case 596:{ee=0;O=k[(k[Fb>>2]|0)+(k[f+(e*20|0)+4>>2]<<2)>>2]|0;i[O+25>>0]=0;P=_g(v+((k[f+(e*20|0)+8>>2]|0)*40|0)|0)|0;w=O+48|0;k[w>>2]=P;k[w+4>>2]=L;i[O+26>>0]=1;O=v;w=f;P=R;Q=S;break}case 597:{ee=0;J=k[(k[Fb>>2]|0)+(k[f+(g*20|0)+4>>2]<<2)>>2]|0;w=k[f+(g*20|0)+12>>2]|0;F=v+(w*40|0)|0;k[jd>>2]=0;o=f+(g*20|0)+16|0;z=k[o>>2]|0;e=J+8|0;x=k[e>>2]|0;w:do if((z|0)>0){k[ud>>2]=x;z=z&65535;j[$b>>1]=z;k[ac>>2]=F;if(!(z<<16>>16))w=ud;else{w=F;x=0;while(1){if(j[w+(x*40|0)+8>>1]&16384){Wg(w+(x*40|0)|0)|0;z=j[$b>>1]|0}x=x+1|0;if((x|0)>=(z&65535|0)){w=ud;break w}w=k[ac>>2]|0}}}else{z=Km(x,Pc,191,jd)|0;if(!z){u=ce;v=fe;e=d;d=q;ee=1317;break a}if(j[v+(w*40|0)+8>>1]&16384)Wg(F)|0;Lm(k[e>>2]|0,k[v+(w*40|0)+12>>2]|0,k[v+(w*40|0)+16>>2]|0,z);w=z}while(0);i[w+6>>0]=0;x:do if((i[H>>0]|0)==67?(Bc=j[w+4>>1]|0,Bc<<16>>16!=0):0){z=k[w+8>>2]|0;x=0;while(1){if(j[z+(x*40|0)+8>>1]&1)break;x=x+1|0;if((x|0)>=(Bc&65535|0)){I=g;e=g;break x}}I=g;e=(k[f+(g*20|0)+8>>2]|0)+-1|0}else{I=g;e=g}while(0);z=Hm(k[J>>2]|0,w,0,0,0,yd)|0;if(!(k[o>>2]|0))rg(he,k[jd>>2]|0);if(z){g=e;f=z;h=q;ee=1309;break c}g=k[yd>>2]|0;k[J+12>>2]=g;g=(g|0)==0;i[J+25>>0]=g&1^1;i[J+26>>0]=0;k[J+60>>2]=0;if((i[H>>0]|0)==69){if(!g){O=v;w=f;P=R;Q=S;break}O=v;w=f;P=R;Q=S;e=(k[f+(I*20|0)+8>>2]|0)+-1|0;break}else{if(g){O=v;w=f;P=R;Q=S;break}O=v;w=f;P=R;Q=S;e=(k[f+(I*20|0)+8>>2]|0)+-1|0;break}}case 624:{ee=0;O=(k[(k[Fb>>2]|0)+(k[f+(e*20|0)+4>>2]<<2)>>2]|0)+40|0;w=O;P=k[w>>2]|0;w=k[w+4>>2]|0;Q=ow(P|0,w|0,1,0)|0;k[O>>2]=Q;k[O+4>>2]=L;O=n;k[O>>2]=P;k[O+4>>2]=w;O=v;w=f;P=R;Q=S;break}case 647:{ee=0;E=k[f+(e*20|0)+8>>2]|0;g=k[(k[Fb>>2]|0)+(k[f+(e*20|0)+4>>2]<<2)>>2]|0;w=k[f+(e*20|0)+12>>2]|0;if(z<<24>>24==75){C=v+(w*40|0)|0;B=k[C>>2]|0;C=k[C+4>>2]|0}else{B=w;C=((w|0)<0)<<31>>31}D=f+(e*20|0)+3|0;F=i[D>>0]|0;if(F&1)k[rb>>2]=(k[rb>>2]|0)+1;if(F&2){d=je;k[d>>2]=B;k[d+4>>2]=C;d=B;c=C}z=j[v+(E*40|0)+8>>1]|0;if(z&1){k[v+(E*40|0)+16>>2]=0;k[v+(E*40|0)+12>>2]=0}if(!(F&16))x=0;else x=k[g+12>>2]|0;if(!(z&16384))z=0;else z=k[v+(E*40|0)>>2]|0;z=Nm(k[g>>2]|0,0,B,C,k[v+(E*40|0)+16>>2]|0,k[v+(E*40|0)+12>>2]|0,z,(F&255)>>>3&1,x)|0;i[g+26>>0]=0;k[g+60>>2]=0;if(z){g=e;f=z;h=q;ee=1309;break c}w=k[bc>>2]|0;if((w|0)!=0?(Cc=k[f+(e*20|0)+16>>2]|0,(Cc|0)!=0):0){gc[w&1](k[cc>>2]|0,(i[D>>0]&4)!=0?23:18,k[(k[Td>>2]|0)+(i[g+24>>0]<<4)>>2]|0,Cc,B,C);O=v;w=f;P=R;Q=S}else{O=v;w=f;P=R;Q=S}break}case 671:{ee=0;O=k[rb>>2]|0;k[sb>>2]=O;k[tb>>2]=(k[tb>>2]|0)+O;k[rb>>2]=0;O=v;w=f;P=R;Q=S;break}case 672:{ee=0;F=k[(k[Fb>>2]|0)+(k[f+(e*20|0)+4>>2]<<2)>>2]|0;E=k[f+(e*20|0)+12>>2]|0;D=k[f+(e*20|0)+16>>2]|0;w=k[F+56>>2]|0;x=w+32|0;z=k[x>>2]|0;F=k[F+8>>2]|0;if(!z){z=Km(F,0,0,ed)|0;k[x>>2]=z;if(!z){g=e;f=7;h=q;ee=1309;break c}j[z+4>>1]=D}if(!(i[w+56>>0]|0)){w=k[w+36>>2]|0;x=w;w=w+8|0}else{Q=k[w+20>>2]|0;w=k[(k[Q+8>>2]|0)+4>>2]|0;Q=k[Q+12>>2]|0;x=Q+(w*56|0)+20|0;w=k[Q+(w*56|0)+32>>2]|0}Lm(F,k[x>>2]|0,w,z);y:do if((D|0)>0){w=k[z+8>>2]|0;g=0;while(1){if(j[w+(g*40|0)+8>>1]&1)break y;g=g+1|0;if((g|0)>=(D|0)){ee=682;break}}}else ee=682;while(0);if((ee|0)==682){ee=0;if(!(Pm(k[v+(E*40|0)+12>>2]|0,k[v+(E*40|0)+16>>2]|0,z,0)|0)){O=v;w=f;P=R;Q=S;break}}O=v;w=f;P=R;Q=S;e=(k[f+(e*20|0)+8>>2]|0)+-1|0;break}case 700:{ee=0;j[n+8>>1]=1;O=v;w=f;P=R;Q=S;break}case 708:{ee=0;j[n+8>>1]=1;O=v;w=f;P=R;Q=S;break}case 711:{ee=0;g=k[(k[Fb>>2]|0)+(k[f+(e*20|0)+4>>2]<<2)>>2]|0;i[g+25>>0]=1;k[g+60>>2]=0;g=k[g>>2]|0;if(!g){O=v;w=f;P=R;Q=S}else{O=g+56|0;$c(k[O>>2]|0);k[O>>2]=0;i[g+73>>0]=0;O=v;w=f;P=R;Q=S}break}case 801:{ee=0;g=k[(k[Fb>>2]|0)+(k[f+(e*20|0)+4>>2]<<2)>>2]|0;n=k[g>>2]|0;o=I+8|0;j[o>>1]=1;if((i[n+73>>0]|0)!=1?(h=om(g)|0,(h|0)!=0):0){g=e;ee=1318;break c}if(!(i[g+25>>0]|0)){g=Pd;k[g>>2]=0;k[g+4>>2]=0;pm(n,Pd);j[jc>>1]=0;k[kc>>2]=he;k[lc>>2]=0;g=sm(n,0,k[Pd>>2]|0,1,Xc)|0;do if(!g){g=k[mc>>2]|0;n=i[g>>0]|0;if(n<<24>>24>-1){z=n&255;k[nd>>2]=z}else{rm(g,nd)|0;z=k[nd>>2]|0}if(!(z>>>0<3?1:(z|0)>(k[nc>>2]|0))){w=(k[mc>>2]|0)+(z+-1)|0;g=i[w>>0]|0;if(g<<24>>24>-1){g=g&255;k[Kd>>2]=g}else{rm(w,Kd)|0;g=k[Kd>>2]|0}if(!((g+-1|0)>>>0>8|(g|0)==7)){if(g>>>0>11)w=(g+-12|0)>>>1;else w=l[34336+g>>0]|0;n=k[nc>>2]|0;if(n>>>0>=(w+z|0)>>>0){tm((k[mc>>2]|0)+(n-w)|0,g,Nd)|0;g=Nd;w=k[g>>2]|0;g=k[g+4>>2]|0;if((j[jc>>1]&9312)==0&(k[lc>>2]|0)==0){B=0;break}Vg(Xc);B=0;break}}}if(!((j[jc>>1]&9312)==0&(k[lc>>2]|0)==0))Vg(Xc);k[ge>>2]=68698;k[ge+4>>2]=10788;gd(11,13600,ge);B=11;w=0;g=0}else{B=g;w=0;g=0}while(0);if(B){g=e;h=B;ee=1318;break c}O=I;k[O>>2]=w;k[O+4>>2]=g;j[o>>1]=4;O=v;w=f;P=R;Q=S;n=I}else{O=v;w=f;P=R;Q=S;n=I}break}case 865:{ee=0;o=k[z>>2]|0;z=k[(k[Td>>2]|0)+(J<<4)+12>>2]|0;w=k[z+16>>2]|0;if(w)do{g=(k[w+8>>2]|0)+32|0;if((k[g>>2]|0)==(x|0))k[g>>2]=o;w=k[w>>2]|0}while((w|0)!=0);g=k[z+32>>2]|0;if(g)do{w=(k[g+8>>2]|0)+40|0;if((k[w>>2]|0)==(x|0))k[w>>2]=o;g=k[g>>2]|0}while((g|0)!=0);O=v;w=f;P=R;Q=S;q=J+1&255;break}case 878:{ee=0;dn(he,n);O=v;w=f;P=R;Q=S;n=F;break}case 881:{ee=0;Q=k[f+(e*20|0)+4>>2]|0;k[Vc>>2]=he;k[ba>>2]=Q;k[ca>>2]=fe;n=k[f+(e*20|0)+16>>2]|0;k[ge>>2]=k[(k[Td>>2]|0)+(Q<<4)>>2];k[ge+4>>2]=(Q|0)==1?13184:13208;k[ge+8>>2]=n;n=zh(he,42048,ge)|0;if(!n){g=e;h=q;ee=882;break c}i[da>>0]=1;k[ea>>2]=0;g=Ve(he,n,22,Vc,0)|0;g=(g|0)==0?k[ea>>2]|0:g;rg(he,n);i[da>>0]=0;if(!g){O=v;w=f;P=R;Q=S;n=F}else{f=g;g=e;h=q;ee=884;break c}break}case 886:{ee=0;pg(he,Nk((k[(k[Td>>2]|0)+(k[f+(e*20|0)+4>>2]<<4)+12>>2]|0)+8|0,k[f+(e*20|0)+16>>2]|0,0)|0);k[Qb>>2]=k[Qb>>2]|2;O=v;w=f;P=R;Q=S;break}case 887:{ee=0;z=Nk((k[(k[Td>>2]|0)+(k[f+(e*20|0)+4>>2]<<4)+12>>2]|0)+24|0,k[f+(e*20|0)+16>>2]|0,0)|0;if(z){g=(k[z+12>>2]|0)+8|0;n=k[g>>2]|0;z:do if((n|0)==(z|0))k[g>>2]=k[z+20>>2];else{do{if(!n)break z;g=n+20|0;n=k[g>>2]|0}while((n|0)!=(z|0));k[g>>2]=k[z+20>>2]}while(0);Ok(he,z)}k[Qb>>2]=k[Qb>>2]|2;O=v;w=f;P=R;Q=S;n=F;break}case 895:{ee=0;z=Nk((k[(k[Td>>2]|0)+(k[f+(e*20|0)+4>>2]<<4)+12>>2]|0)+40|0,k[f+(e*20|0)+16>>2]|0,0)|0;if(!z){O=v;w=f;P=R;Q=S}else{g=k[z+20>>2]|0;if((g|0)==(k[z+24>>2]|0)){g=gn(g+8|0,k[z+4>>2]|0,ge)|0;if(!g)g=0;else g=k[g+8>>2]|0;o=g+64|0;while(1){Q=k[o>>2]|0;g=Q+32|0;if((Q|0)==(z|0))break;else o=g}k[o>>2]=k[g>>2]}og(he,z);k[Qb>>2]=k[Qb>>2]|2;O=v;w=f;P=R;Q=S}break}case 903:{ee=0;J=k[f+(g*20|0)+8>>2]|0;e=rh(he,(J<<2)+4|0,0)|0;if(!e){u=ce;v=fe;e=d;d=q;ee=1317;break a}x=k[f+(g*20|0)+12>>2]|0;H=k[f+(g*20|0)+4>>2]|0;G=v+(H*40|0)|0;if((J|0)>0){z=0;do{Q=_g(v+((z+H|0)*40|0)|0)|0;k[e+(z<<2)>>2]=Q;z=z+1|0}while((z|0)!=(J|0));z=J}else z=0;k[e+(z<<2)>>2]=0;E=k[(k[Td>>2]|0)+(l[f+(g*20|0)+3>>0]<<4)+4>>2]|0;N=v+(x*40|0)|0;Q=k[N>>2]|0;M=k[E+4>>2]|0;k[M+4>>2]=k[E>>2];E=k[M>>2]|0;o=k[(k[E+204>>2]|0)+12>>2]|0;k[Pd>>2]=M;k[fa>>2]=E;E=k[M+44>>2]|0;k[ja>>2]=E;k[la>>2]=Q;k[ma+0>>2]=0;k[ma+4>>2]=0;k[ma+8>>2]=0;k[ma+12>>2]=0;k[ma+16>>2]=0;do if(!E){x=0;z=0}else{F=(E>>>3)+1|0;D=vg(F,0)|0;if(!D){k[pa>>2]=0;x=0;z=1;break}kw(D|0,0,F|0)|0;k[pa>>2]=D;K=M+32|0;F=(((k[2514]|0)>>>0)/((k[K>>2]|0)>>>0)|0)+1|0;if(F>>>0<=E>>>0){Q=D+(F>>>3)|0;i[Q>>0]=l[Q>>0]|1<<(F&7)}k[ra>>2]=Kd;k[sa>>2]=Kd;k[qa>>2]=0;k[ta>>2]=0;k[ua>>2]=100;k[va>>2]=1e9;i[xa>>0]=0;i[wa>>0]=2;k[oa>>2]=43592;z=k[(k[M+12>>2]|0)+56>>2]|0;hn(Pd,1,l[z+33>>0]<<16|l[z+32>>0]<<24|l[z+34>>0]<<8|l[z+35>>0],l[z+37>>0]<<16|l[z+36>>0]<<24|l[z+38>>0]<<8|l[z+39>>0]);k[oa>>2]=0;z=k[la>>2]|0;if(!((J|0)<1|(z|0)==0)){C=M+17|0;D=0;do{E=e+(D<<2)|0;F=k[E>>2]|0;if(F){if((i[C>>0]|0)!=0&(F|0)>1){jn(Pd,F,1,0);F=k[E>>2]|0}k[oa>>2]=43608;kn(Pd,F,0,0)|0;k[oa>>2]=0;z=k[la>>2]|0}D=D+1|0}while(!((D|0)>=(J|0)|(z|0)==0))}if(!((k[ja>>2]|0)==0|(z|0)==0)){B=M+17|0;z=M+36|0;I=1;do{D=I>>>3;F=i[(k[pa>>2]|0)+D>>0]|0;C=1<<(I&7);do if(!(F&255&C)){if(I>>>0<2)E=0;else{E=I+-2|0;E=E-((E>>>0)%(((((k[z>>2]|0)>>>0)/5|0)+1|0)>>>0)|0)|0;E=((E+1|0)==(((k[2514]|0)>>>0)/((k[K>>2]|0)>>>0)|0|0)?3:2)+E|0}if((E|0)==(I|0)?(i[B>>0]|0)!=0:0)break;k[ge>>2]=I;ln(Pd,43632,ge);F=i[(k[pa>>2]|0)+D>>0]|0}while(0);do if(F&255&C){if(I>>>0<2)F=0;else{F=I+-2|0;F=F-((F>>>0)%(((((k[z>>2]|0)>>>0)/5|0)+1|0)>>>0)|0)|0;F=((F+1|0)==(((k[2514]|0)>>>0)/((k[K>>2]|0)>>>0)|0|0)?3:2)+F|0}if((F|0)!=(I|0))break;if(!(i[B>>0]|0))break;k[ge>>2]=I;ln(Pd,43656,ge)}while(0);I=I+1|0}while(!((k[la>>2]|0)==0?1:I>>>0>(k[ja>>2]|0)>>>0))}z=k[(k[(k[M>>2]|0)+204>>2]|0)+12>>2]|0;if((o|0)!=(z|0)){k[ge>>2]=o;k[ge+4>>2]=z;ln(Pd,43696,ge)}$c(k[pa>>2]|0);if(k[na>>2]|0){mn(qa);x=0;z=(k[ma>>2]|0)+1|0;break}z=k[ma>>2]|0;if(!z)mn(qa);x=yg(qa)|0}while(0);rg(he,e);Q=N;Q=iw(k[Q>>2]|0,k[Q+4>>2]|0,z|0,((z|0)<0)<<31>>31|0)|0;w=N;k[w>>2]=Q;k[w+4>>2]=L;w=v+(H*40|0)+8|0;if(!(j[w>>1]&9312))j[w>>1]=1;else Ag(G);if(z){if(!x){u=ce;v=fe;e=d;d=q;ee=1317;break a}ah(G,x,-1,1,1)|0}bm(G,ub)|0;O=v;w=f;P=R;Q=S;e=g;break}case 947:{ee=0;o=k[f+(g*20|0)+4>>2]|0;e=v+(o*40|0)|0;n=k[f+(g*20|0)+8>>2]|0;o=v+(o*40|0)+8|0;if((j[o>>1]&32)==0?(nn(e),(j[o>>1]&32)==0):0){u=ce;v=fe;e=d;d=q;ee=1317;break a}O=v+(n*40|0)|0;on(k[e>>2]|0,k[O>>2]|0,k[O+4>>2]|0);O=v;w=f;P=R;Q=S;n=F;e=g;break}case 966:{ee=0;w=k[f+(g*20|0)+4>>2]|0;N=v+(w*40|0)|0;M=v+((k[f+(g*20|0)+12>>2]|0)*40|0)|0;K=k[f+(g*20|0)+16>>2]|0;w=v+(w*40|0)+8|0;if((j[w>>1]&32)==0?(nn(N),(j[w>>1]&32)==0):0){u=ce;v=fe;e=d;d=q;ee=1317;break a}if(K){I=k[N>>2]|0;G=M;J=k[G>>2]|0;G=k[G+4>>2]|0;o=I+28|0;if((k[o>>2]|0)!=(K|0)){e=I+8|0;F=k[e>>2]|0;if(F){E=I+20|0;H=I+26|0;if(!(j[H>>1]&1))F=pn(F)|0;D=k[E>>2]|0;A:do if(!D){dd=F;od=E;ee=978}else{while(1){E=D+12|0;C=k[E>>2]|0;if(!C)break;B=D+8|0;qn(C,ge,Pd);k[E>>2]=0;F=rn(k[ge>>2]|0,F)|0;D=k[B>>2]|0;if(!D){dd=F;od=B;ee=978;break A}}Q=sn(F)|0;k[E>>2]=Q}while(0);if((ee|0)==978?(ee=0,Hc=tn(I)|0,k[od>>2]=Hc,(Hc|0)!=0):0){Q=Hc;k[Q>>2]=0;k[Q+4>>2]=0;k[Hc+8>>2]=0;Q=sn(dd)|0;k[Hc+12>>2]=Q}k[e>>2]=0;k[I+12>>2]=0;j[H>>1]=m[H>>1]|1}k[o>>2]=K}z=k[I+20>>2]|0;B:do if(z){C:while(1){x=k[z+12>>2]|0;if(x)do{w=x;B=k[w>>2]|0;w=k[w+4>>2]|0;if((w|0)<(G|0)|(w|0)==(G|0)&B>>>0<J>>>0)x=x+8|0;else{if(!((w|0)>(G|0)|(w|0)==(G|0)&B>>>0>J>>>0))break C;x=x+12|0}x=k[x>>2]|0}while((x|0)!=0);z=k[z+8>>2]|0;if(!z)break B}O=v;w=f;P=R;Q=S;e=(k[f+(g*20|0)+8>>2]|0)+-1|0;break q}while(0);if((K|0)>-1)z=M;else{O=v;w=f;P=R;Q=S;e=g;break}}else z=M;O=z;on(k[N>>2]|0,k[O>>2]|0,k[O+4>>2]|0);O=v;w=f;P=R;Q=S;e=g;break}case 993:{ee=0;o=k[f+(e*20|0)+16>>2]|0;E=k[f+(e*20|0)+12>>2]|0;I=v+(E*40|0)|0;if((i[f+(e*20|0)+3>>0]|0)!=0?(Ic=k[o+20>>2]|0,fd=k[pb>>2]|0,(fd|0)!=0):0){w=fd;while(1){if((k[w+28>>2]|0)==(Ic|0)){O=v;w=f;P=R;Q=S;break q}w=k[w+4>>2]|0;if(!w){g=e;break}}}else g=e;e=k[qb>>2]|0;if((e|0)>=(k[ya>>2]|0)){h=q;ee=998;break c}B=v+(E*40|0)+8|0;if(!(j[B>>1]&64)){z=o+12|0;x=k[z>>2]|0;w=x+(k[o+8>>2]|0)|0;f=o+16|0;x=(x<<2)+80+(k[f>>2]|0)+(w*40|0)|0;F=rh(he,x,((x|0)<0)<<31>>31)|0;if(!F){u=ce;v=fe;e=d;d=q;ee=1317;break a}kw(F|0,0,x|0)|0;if(!((j[B>>1]&9312)==0?(k[v+(E*40|0)+24>>2]|0)==0:0))Vg(I);j[B>>1]=64;k[I>>2]=F;k[F>>2]=a;k[F+60>>2]=w;k[F+64>>2]=k[z>>2];k[F+44>>2]=g;k[F+16>>2]=k[Kc>>2];k[F+52>>2]=k[za>>2];k[F+24>>2]=k[Fb>>2];k[F+40>>2]=k[Aa>>2];k[F+8>>2]=k[tc>>2];k[F+48>>2]=k[Ba>>2];k[F+28>>2]=k[o+20>>2];k[F+20>>2]=k[Eb>>2];k[F+56>>2]=k[Ca>>2];v=F+80|0;e=v+(w*40|0)|0;if((v|0)!=(e|0))do{j[v+8>>1]=128;k[v+32>>2]=he;v=v+40|0}while((v|0)!=(e|0));e=k[qb>>2]|0;v=F}else{f=o+16|0;v=k[I>>2]|0}k[qb>>2]=e+1;k[v+4>>2]=k[pb>>2];O=v+32|0;k[O>>2]=d;k[O+4>>2]=c;k[v+68>>2]=k[rb>>2];k[v+72>>2]=k[(k[a>>2]|0)+80>>2];k[rb>>2]=0;k[pb>>2]=v;O=v+40|0;k[Kc>>2]=O;P=k[v+60>>2]|0;k[za>>2]=P;Q=k[v+64>>2]&65535;k[Aa>>2]=Q;P=O+((P+1|0)*40|0)|0;k[Fb>>2]=P;w=k[o>>2]|0;k[tc>>2]=w;k[Ba>>2]=k[o+4>>2];Q=P+(Q<<2)|0;k[Eb>>2]=Q;P=k[f>>2]|0;k[Ca>>2]=P;kw(Q|0,0,P|0)|0;P=R;Q=S;e=-1;break}case 1009:{ee=0;O=k[pb>>2]|0;cm(n,(k[O+16>>2]|0)+(((k[(k[O+8>>2]|0)+((k[O+44>>2]|0)*20|0)+4>>2]|0)+(k[f+(e*20|0)+4>>2]|0)|0)*40|0)|0,4096);O=v;w=f;P=R;Q=S;break}case 1010:{ee=0;if(k[Qb>>2]&16777216){w=k[f+(e*20|0)+8>>2]|0;O=Ob;w=ow(k[O>>2]|0,k[O+4>>2]|0,w|0,((w|0)<0)<<31>>31|0)|0;O=Ob;k[O>>2]=w;k[O+4>>2]=L;O=v;w=f;P=R;Q=S;n=F;break}g=k[f+(e*20|0)+8>>2]|0;n=((g|0)<0)<<31>>31;if(!(k[f+(e*20|0)+4>>2]|0)){w=Wd;w=ow(k[w>>2]|0,k[w+4>>2]|0,g|0,n|0)|0;O=Wd;k[O>>2]=w;k[O+4>>2]=L;O=v;w=f;P=R;Q=S;n=F;break}else{w=Nb;w=ow(k[w>>2]|0,k[w+4>>2]|0,g|0,n|0)|0;O=Nb;k[O>>2]=w;k[O+4>>2]=L;O=v;w=f;P=R;Q=S;n=F;break}}case 1015:{ee=0;if(!(k[f+(e*20|0)+4>>2]|0)){Q=Wd;if(!((k[Q>>2]|0)==0&(k[Q+4>>2]|0)==0)){O=v;w=f;P=R;Q=S;break}Q=Ob;if(!((k[Q>>2]|0)==0&(k[Q+4>>2]|0)==0)){O=v;w=f;P=R;Q=S;break}O=v;w=f;P=R;Q=S;e=(k[f+(e*20|0)+8>>2]|0)+-1|0;break}else{Q=Nb;if(!((k[Q>>2]|0)==0&(k[Q+4>>2]|0)==0)){O=v;w=f;P=R;Q=S;break}Q=Ob;if(!((k[Q>>2]|0)==0&(k[Q+4>>2]|0)==0)){O=v;w=f;P=R;Q=S;break}O=v;w=f;P=R;Q=S;e=(k[f+(e*20|0)+8>>2]|0)+-1|0;break}}case 1022:{ee=0;g=k[pb>>2]|0;if(!g)o=v+((k[f+(e*20|0)+4>>2]|0)*40|0)|0;else{while(1){n=k[g+4>>2]|0;if(!n)break;else g=n}o=(k[g+16>>2]|0)+((k[f+(e*20|0)+4>>2]|0)*40|0)|0}P=_g(o)|0;Q=o;k[Q>>2]=P;k[Q+4>>2]=L;Q=o+8|0;j[Q>>1]=m[Q>>1]&48640|4;Q=k[f+(e*20|0)+8>>2]|0;P=v+(Q*40|0)|0;g=_g(P)|0;n=L;k[P>>2]=g;k[P+4>>2]=n;Q=v+(Q*40|0)+8|0;j[Q>>1]=m[Q>>1]&48640|4;Q=o;P=k[Q+4>>2]|0;if((P|0)<(n|0)|((P|0)==(n|0)?(k[Q>>2]|0)>>>0<g>>>0:0)){O=o;k[O>>2]=g;k[O+4>>2]=n;O=v;w=f;P=R;Q=S;n=I}else{O=v;w=f;P=R;Q=S;n=I}break}case 1028:{ee=0;Q=v+((k[f+(e*20|0)+4>>2]|0)*40|0)|0;P=k[Q+4>>2]|0;if((P|0)>0|(P|0)==0&(k[Q>>2]|0)>>>0>0){O=v;w=f;P=R;Q=S;e=(k[f+(e*20|0)+8>>2]|0)+-1|0}else{O=v;w=f;P=R;Q=S}break}case 1030:{ee=0;O=k[f+(e*20|0)+12>>2]|0;P=v+((k[f+(e*20|0)+4>>2]|0)*40|0)|0;Q=P;O=ow(k[Q>>2]|0,k[Q+4>>2]|0,O|0,((O|0)<0)<<31>>31|0)|0;Q=L;k[P>>2]=O;k[P+4>>2]=Q;if((Q|0)<0){O=v;w=f;P=R;Q=S;e=(k[f+(e*20|0)+8>>2]|0)+-1|0}else{O=v;w=f;P=R;Q=S}break}case 1032:{ee=0;g=v+((k[f+(e*20|0)+4>>2]|0)*40|0)|0;o=g;n=k[o>>2]|0;o=k[o+4>>2]|0;if((n|0)==0&(o|0)==0){O=v;w=f;P=R;Q=S;n=F}else{w=k[f+(e*20|0)+12>>2]|0;w=ow(w|0,((w|0)<0)<<31>>31|0,n|0,o|0)|0;O=g;k[O>>2]=w;k[O+4>>2]=L;O=v;w=f;P=R;Q=S;n=F;e=(k[f+(e*20|0)+8>>2]|0)+-1|0}break}case 1034:{ee=0;O=v+((k[f+(e*20|0)+4>>2]|0)*40|0)|0;P=O;P=ow(k[P>>2]|0,k[P+4>>2]|0,-1,-1)|0;Q=L;k[O>>2]=P;k[O+4>>2]=Q;if((P|0)==0&(Q|0)==0){O=v;w=f;P=R;Q=S;e=(k[f+(e*20|0)+8>>2]|0)+-1|0}else{O=v;w=f;P=R;Q=S}break}case 1036:{ee=0;O=v+((k[f+(e*20|0)+4>>2]|0)*40|0)|0;Q=O;P=k[Q>>2]|0;Q=k[Q+4>>2]|0;N=ow(P|0,Q|0,1,0)|0;k[O>>2]=N;k[O+4>>2]=L;if((P|0)==0&(Q|0)==0){O=v;w=f;P=R;Q=S;e=(k[f+(e*20|0)+8>>2]|0)+-1|0}else{O=v;w=f;P=R;Q=S}break}case 1157:{ee=0;O=v;w=f;P=R;Q=S;e=(k[f+(g*20|0)+8>>2]|0)+-1|0;break}case 1158:{ee=0;if(k[f+(e*20|0)+4>>2]|0){j[Ud>>1]=j[Ud>>1]|8;O=v;w=f;P=R;Q=S;break}g=k[Sb>>2]|0;if(!g){O=v;w=f;P=R;Q=S}else{do{Q=g+88|0;j[Q>>1]=j[Q>>1]|8;g=k[g+52>>2]|0}while((g|0)!=0);O=v;w=f;P=R;Q=S}break}case 1166:{ee=0;F=(k[o>>2]|0)+72|0;g=k[F>>2]|0;D:do if(g){while(1){if((k[g+4>>2]|0)==(x|0)?(k[g>>2]|0)==(z|0):0)break;g=k[g+12>>2]|0;if(!g){ee=1171;break D}}if(!g)ee=1171}else ee=1171;while(0);if((ee|0)==1171){ee=0;g=vg(16,0)|0;if(!g){g=e;f=7;h=q;ee=1309;break c}Q=g+0|0;C=Q+12|0;do{i[Q>>0]=0;Q=Q+1|0}while((Q|0)<(C|0));k[g+4>>2]=x;k[g>>2]=z;k[g+12>>2]=k[F>>2];k[F>>2]=g}g=g+8|0;if((l[g>>0]|0)<(w&255)){i[g>>0]=w;O=v;w=f;P=R;Q=S}else{O=v;w=f;P=R;Q=S}break}case 1213:{ee=0;k[pd>>2]=0;w=k[(k[f+(e*20|0)+16>>2]|0)+8>>2]|0;if(!w){g=e;f=6;h=q;ee=1309;break c}o=k[w>>2]|0;if(!o){g=e;f=6;h=q;ee=1309;break c}z=wc[k[o+24>>2]&127](w,pd)|0;Rm(a,w);if(z){g=e;f=z;h=q;ee=1309;break c}k[k[pd>>2]>>2]=w;g=Cm(a,k[f+(e*20|0)+4>>2]|0,0,-1,0)|0;if(!g){i[ce>>0]=1;qc[k[o+28>>2]&127](k[pd>>2]|0)|0;O=v;w=f;P=R;Q=S;break}else{k[g+32>>2]=k[pd>>2];O=w+4|0;k[O>>2]=(k[O>>2]|0)+1;O=v;w=f;P=R;Q=S;break}}case 1226:{ee=0;g=v+(z*40|0)+8|0;if(!(j[g>>1]&9312)){j[g>>1]=1;O=v;w=f;P=R;Q=S;break}else{Ag(x);O=v;w=f;P=R;Q=S;break}}case 1257:{ee=0;O=n;k[O>>2]=k[(k[(k[(k[Td>>2]|0)+(k[f+(e*20|0)+4>>2]<<4)+4>>2]|0)+4>>2]|0)+44>>2];k[O+4>>2]=0;O=v;w=f;P=R;Q=S;break}case 1258:{ee=0;w=k[(k[Td>>2]|0)+(k[f+(e*20|0)+4>>2]<<4)+4>>2]|0;g=k[f+(e*20|0)+12>>2]|0;n=k[w+4>>2]|0;if(!g)g=0;else{Q=k[n+44>>2]|0;g=Q>>>0<g>>>0?g:Q}k[n+4>>2]=k[w>>2];n=(k[n>>2]|0)+156|0;if((g|0)>0)k[n>>2]=g;else g=k[n>>2]|0;O=F;k[O>>2]=g;k[O+4>>2]=((g|0)<0)<<31>>31;O=v;w=f;P=R;Q=S;n=F;break}case 1264:{ee=0;e=k[f+(g*20|0)+8>>2]|0;e=(e|0)==0?g:e+-1|0;if((k[Pa>>2]|0)!=0?(j[Ud>>1]&512)==0:0){g=k[f+(g*20|0)+16>>2]|0;if(!g){g=k[_d>>2]|0;if(!g){O=v;w=f;P=R;Q=S;n=I;break}}k[Pd>>2]=0;n=k[a>>2]|0;z=k[n+88>>2]|0;k[cb>>2]=Kd;k[db>>2]=Kd;k[eb>>2]=0;k[fb>>2]=100;k[gb>>2]=z;i[hb>>0]=1;i[ib>>0]=0;k[nd>>2]=n;z=i[g>>0]|0;w=z<<24>>24==0;E:do if((k[n+160>>2]|0)>1){if(!w){w=z;while(1){n=g;do{n=n+1|0;if(w<<24>>24==10)break;w=i[n>>0]|0}while(w<<24>>24!=0);Xk(nd,42288,3);Xk(nd,g,n-g|0);w=i[n>>0]|0;if(!(w<<24>>24))break;else g=n}}}else if(!w){o=n+62|0;w=z;J=1;do{F:do if(!(w<<24>>24)){x=0;w=0}else{z=g;w=0;while(1){x=Hn(z,ge)|0;if((k[ge>>2]|0)==135)break F;w=x+w|0;z=z+x|0;if(!(i[z>>0]|0)){x=0;break}}}while(0);Xk(nd,g,w);z=g+w|0;if(!x)break E;do if((i[z>>0]|0)==63)if((x|0)>1){In(g+(w+1)|0,Pd)|0;z=k[Pd>>2]|0;break}else{k[Pd>>2]=J;z=J;break}else{z=vh(a,z,x)|0;k[Pd>>2]=z}while(0);g=g+(w+x)|0;J=z+1|0;F=z+-1|0;E=k[xb>>2]|0;z=E+(F*40|0)|0;x=m[E+(F*40|0)+8>>1]|0;do if(!(x&1)){if(x&4){O=z;P=k[O+4>>2]|0;Q=ge;k[Q>>2]=k[O>>2];k[Q+4>>2]=P;Jn(nd,0,19920,ge);break}if(x&8){p[t>>3]=+p[z>>3];k[ge>>2]=k[t>>2];k[ge+4>>2]=k[t+4>>2];Jn(nd,0,20272,ge);break}if(!(x&2)){if(x&16384){k[ge>>2]=k[z>>2];Jn(nd,0,42304,ge);break}Xk(nd,42320,2);B=k[E+(F*40|0)+12>>2]|0;if((B|0)>0){z=E+(F*40|0)+16|0;x=0;do{k[ge>>2]=l[(k[z>>2]|0)+x>>0];Jn(nd,0,42328,ge);x=x+1|0}while((x|0)!=(B|0))}Xk(nd,42336,1);break}else{B=i[o>>0]|0;if(B<<24>>24==1){Q=k[E+(F*40|0)+16>>2]|0;k[ge>>2]=k[E+(F*40|0)+12>>2];k[ge+4>>2]=Q;Jn(nd,0,42296,ge);break}Q=Ld+0|0;C=Q+40|0;do{k[Q>>2]=0;Q=Q+4|0}while((Q|0)<(C|0));k[kb>>2]=n;ah(Ld,k[E+(F*40|0)+16>>2]|0,k[E+(F*40|0)+12>>2]|0,B,0)|0;Q=k[lb>>2]|0;if(!((Q&2|0)==0|(Q&16711680|0)==65536))Gn(Ld,1)|0;Q=k[nb>>2]|0;k[ge>>2]=k[mb>>2];k[ge+4>>2]=Q;Jn(nd,0,42296,ge);if((j[lb>>1]&9312)==0&(k[ob>>2]|0)==0)break;Vg(Ld);break}}else Xk(nd,20304,4);while(0);w=i[g>>0]|0}while(w<<24>>24!=0)}while(0);O=yg(nd)|0;oc[k[Pa>>2]&15](k[jb>>2]|0,O);rg(he,O);O=v;w=f;P=R;Q=S;n=I}else{O=v;w=f;P=R;Q=S;n=I}break}}if((ee|0)==28){ee=0;v=f+(e*20|0)+4|0;g=k[v>>2]|0;if(g){u=v;ee=34;break}v=k[pb>>2]|0;if(!v){ee=30;break}k[pb>>2]=k[v+4>>2];k[qb>>2]=(k[qb>>2]|0)+-1;c=k[rb>>2]|0;k[sb>>2]=c;k[tb>>2]=(k[tb>>2]|0)+c;v=am(v)|0;c=je;w=k[tc>>2]|0;if((k[f+(e*20|0)+8>>2]|0)==4)e=(k[w+(v*20|0)+8>>2]|0)+-1|0;else e=v;d=k[c>>2]|0;c=k[c+4>>2]|0;O=k[Kc>>2]|0;P=R;Q=S}else if((ee|0)==488){ee=0;w=xm(he,z,x)|0;if(!w){O=v;w=f;P=R;Q=S}else{g=e;h=w;ee=1318;break}}v=O;f=w;R=P;S=Q;g=e+1|0}switch(ee|0){case 30:{k[ie>>2]=g;i[be>>0]=k[f+(e*20|0)+8>>2];k[de>>2]=e;ee=41;break}case 34:{k[ie>>2]=g;i[be>>0]=k[f+(e*20|0)+8>>2];k[de>>2]=e;g=i[f+(e*20|0)+3>>0]|0;if(!(g<<24>>24)){f=k[f+(e*20|0)+16>>2]|0;if(!f){f=0;ee=39}else{k[ge>>2]=f;ih(fe,he,10344,ge)}}else{h=k[41536+((g&255)+-1<<2)>>2]|0;g=k[f+(e*20|0)+16>>2]|0;if(!g){f=h;ee=39}else{k[ge>>2]=h;k[ge+4>>2]=g;ih(fe,he,41624,ge)}}if((ee|0)==39){k[ge>>2]=f;ih(fe,he,41656,ge)}ee=k[u>>2]|0;kd=k[_d>>2]|0;nd=k[fe>>2]|0;k[ge>>2]=e;k[ge+4>>2]=kd;k[ge+8>>2]=nd;gd(ee,41600,ge);ee=41;break}case 80:{q=k[Zd>>2]|0;if(!((q|0)==0|b>>>0<u>>>0)?(qc[q&127](k[Vd>>2]|0)|0)!=0:0){e=d;f=9;d=h;ee=1311;break a}nd=Wd;kd=k[nd+4>>2]|0;if((kd|0)>0|(kd|0)==0&(k[nd>>2]|0)>>>0>0){f=k[a>>2]|0;k[ie>>2]=787;i[be>>0]=2;ih(fe,f,34376,ge);f=1;ee=1309;break}q=em(a,1)|0;if(!q){k[Xd>>2]=(k[Xd>>2]|0)+2|1;u=k[f+(g*20|0)+4>>2]|0;k[$d>>2]=v+(u*40|0);e=f+(g*20|0)+8|0;if((k[e>>2]|0)>0){q=0;do{n=q+u|0;o=v+(n*40|0)|0;n=v+(n*40|0)+8|0;f=j[n>>1]|0;if(f&4096){if(_l(o)|0){u=ce;v=fe;e=d;d=h;ee=1317;break a}f=j[n>>1]|0}if((f&514)==2)fm(o)|0;q=q+1|0}while((q|0)<(k[e>>2]|0))}if(i[ce>>0]|0){u=ce;v=fe;e=d;d=h;ee=1317;break a}k[de>>2]=g+1;e=d;d=b;b=100;break a}else{f=q;ee=1309}break}case 313:{k[ge>>2]=73058;k[ge+4>>2]=10788;gd(11,13600,ge);f=11;ee=1309;break}case 343:{k[ge>>2]=73142;k[ge+4>>2]=10788;gd(11,13600,ge);f=11;ee=1309;break}case 447:{ih(fe,he,41712,ge);g=e;f=5;ee=1309;break}case 460:{k[ge>>2]=f;ih(fe,he,41768,ge);f=1;ee=1309;break}case 462:{ih(fe,he,41792,ge);f=5;ee=1309;break}case 467:{k[de>>2]=b;i[ae>>0]=0;k[ie>>2]=5;b=5;break a}case 489:{n=k[f+(g*20|0)+4>>2]|0;f=k[f+(g*20|0)+8>>2]|0;b=(n|0)!=0;if(b){f=(f|0)!=0;if(!(f|(i[ae>>0]|0)!=0))if((k[Yd>>2]|0)>0){ih(fe,he,41848,ge);b=d;d=e;f=5;ee=1309;break}else f=0}else f=(f|0)!=0;if((n|0)==(l[ae>>0]|0)){if(b)b=f?41952:42e3;else b=41904;ih(fe,he,b,ge);b=d;d=e;f=1;ee=1309;break}if(!f){b=ym(a,1)|0;if(b)break a;i[ae>>0]=n;if((Wl(a)|0)==5){k[de>>2]=g;i[ae>>0]=1-n;k[ie>>2]=5;b=5;break a}}else{Pl(he,516);i[ae>>0]=1}Ql(he);b=(k[ie>>2]|0)==0?101:1;break a}case 508:{k[de>>2]=b;k[ie>>2]=5;b=5;break a}case 522:{rg(he,k[fe>>2]|0);nd=ph(he,16040)|0;k[fe>>2]=nd;f=k[f>>2]|0;if((k[k[(k[Td>>2]|0)+(f<<4)+12>>2]>>2]|0)!=(n|0))Am(he,f);j[Ud>>1]=j[Ud>>1]|8;f=17;ee=1309;break}case 542:{k[ge>>2]=73997;k[ge+4>>2]=10788;gd(11,13600,ge);h=11;q=f;ee=1318;break}case 560:{k[f+56>>2]=0;f=7;ee=1309;break}case 832:{i[be>>0]=2;f=6;ee=1309;break}case 882:{Jg(he);u=ce;v=fe;e=d;d=h;ee=1317;break a}case 884:{Jg(he);if((f|0)==7){u=ce;v=fe;e=d;d=h;ee=1317;break a}else ee=1309;break}case 998:{ih(fe,he,42112,ge);f=1;ee=1309;break}case 1080:{k[ge>>2]=f?42208:42216;ih(fe,he,42152,ge);f=1;ee=1309;break}case 1101:{ih(fe,he,42344,ge);f=1;ee=1309;break}case 1103:{ih(fe,he,42384,ge);f=1;ee=1309;break}case 1145:{k[ge>>2]=56343;k[ge+4>>2]=10788;gd(11,13600,ge);f=11;ee=1309;break}case 1316:{ih(fe,he,10096,ge);e=d;f=18;d=h;ee=1311;break a}}if((ee|0)==41)if((Wl(a)|0)==5){k[ie>>2]=5;e=d;d=b;b=5;break a}else{e=d;d=b;b=(k[ie>>2]|0)!=0?1:101;break a}else if((ee|0)==1309){e=d;g=g+1|0;d=h;ee=1311;break a}else if((ee|0)==1318){h=(i[ce>>0]|0)==0?h:7;if((h|0)==3082){e=d;f=3082;d=q;ee=1311;break a}else if((h|0)!=516){e=h&255;if(e>>>0>26|(e|0)==2)f=16328;else f=k[15488+(e<<2)>>2]|0}else f=16344;k[ge>>2]=f;ih(fe,he,10344,ge);e=d;f=h;d=q;ee=1311;break a}}else{h=a+44|0;e=d;b=0;g=0;d=0}while(0);k[ie>>2]=9;k[ge>>2]=15832;ih(h,he,10344,ge);f=9;ee=1311}while(0);if((ee|0)==1317){i[u>>0]=1;ih(v,he,15776,ge);f=7;ee=1311}if((ee|0)==1311){k[ie>>2]=f;kd=k[a+168>>2]|0;nd=k[a+44>>2]|0;k[ge>>2]=g;k[ge+4>>2]=kd;k[ge+8>>2]=nd;gd(f,42256,ge);Wl(a)|0;if((f|0)==3082)i[he+65>>0]=1;if(!(d<<24>>24)){d=b;b=1}else{Am(he,(d&255)+-1|0);d=b;b=1}}nd=je;k[nd>>2]=e;k[nd+4>>2]=c;nd=a+124|0;k[nd>>2]=(k[nd>>2]|0)+d;r=ke;return b|0}
function Jv(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=a+20|0;r=a+14|0;b=i[r>>0]|0;w=a+13|0;c=i[w>>0]|0;a:do if((b&255)>(c&255))b=0;else{y=a+4|0;z=a+16|0;s=a+8|0;t=a+12|0;u=a+24|0;v=a+28|0;e=b&255;f=k[y>>2]|0;d=k[A>>2]|0;b:while(1){q=k[a+(e+-2<<2)+24>>2]|0;p=k[a+(e+-1<<2)+24>>2]|0;if(f){while(1){o=f+12|0;if((d|0)<(k[o>>2]|0)){c=d;b=(k[f+20>>2]|0)+(d*48|0)|0;while(1){do if((k[b+8>>2]|0)==(q|0)?(k[b+12>>2]|0)==(p|0):0){if((l[r>>0]|0)>=3?(k[(k[b>>2]|0)+4>>2]&1|0)!=0:0)break;n=b+18|0;d=j[n>>1]|0;if((d&1024)!=0?(x=i[w>>0]|0,(x&255)<22):0){e=k[(k[b>>2]|0)+16>>2]|0;c:do if(!e)e=0;else while(1){g=k[e+4>>2]|0;if(!(g&4096))break c;if(!(g&262144))e=e+12|0;else e=k[(k[e+20>>2]|0)+4>>2]|0;e=k[e>>2]|0;if(!e){e=0;break}}while(0);d:do if(!(x<<24>>24)){m=0;g=0}else{h=k[e+28>>2]|0;m=e+32|0;g=0;while(1){if((k[a+(g<<2)+24>>2]|0)==(h|0)?(k[a+((g|1)<<2)+24>>2]|0)==(j[m>>1]|0):0){m=x;break d}g=g+2|0;if((g|0)>=(x&255|0)){m=x;break}}}while(0);if((g|0)==(m&255|0)){k[a+(g<<2)+24>>2]=k[e+28>>2];k[a+((g|1)<<2)+24>>2]=j[e+32>>1];i[w>>0]=(l[w>>0]|0)+2}}e=d&65535;if(e&k[z>>2]){if((k[s>>2]|0)!=0&(e&128|0)==0){h=k[k[f>>2]>>2]|0;g=k[b>>2]|0;e=i[t>>0]|0;d=(sv(g)|0)<<24>>24;if((d|0)==66){if(e<<24>>24!=66)break}else if((d|0)!=65?e<<24>>24<=66:0)break;d=Tu(h,k[g+12>>2]|0,k[g+16>>2]|0)|0;if(!d)d=k[(k[h>>2]|0)+8>>2]|0;if(id(k[d>>2]|0,k[s>>2]|0)|0)break;d=j[n>>1]|0}if(!(d&2))break b;d=k[(k[b>>2]|0)+16>>2]|0;if((i[d>>0]|0)!=-102)break b;if((k[d+28>>2]|0)!=(k[u>>2]|0))break b;if((j[d+32>>1]|0)!=(k[v>>2]|0))break b}}while(0);c=c+1|0;if((c|0)>=(k[o>>2]|0))break;else b=b+48|0}c=k[y>>2]|0}else c=f;f=k[c+4>>2]|0;k[y>>2]=f;if(!f)break;else d=0}b=i[r>>0]|0;c=i[w>>0]|0}f=k[a>>2]|0;k[y>>2]=f;d=(b&255)+2|0;b=d&255;i[r>>0]=b;if((b&255)>(c&255)){b=0;break a}else{e=d&255;d=0}}k[A>>2]=c+1}while(0);return b|0}function Kv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0,n=0;c=k[a>>2]|0;h=k[k[c>>2]>>2]|0;a=k[a+16>>2]|0;a:do if(!a){c=c+16|0;e=k[c>>2]|0;g=b+36|0;if((k[g>>2]&512|0)!=0&(e|0)!=0){a=b+20|0;f=b+22|0;d=i[b+16>>0]|0;do{do if((i[e+16>>0]|0)==d<<24>>24?(k[e+36>>2]&512|0)!=0:0){if(Yv(e,b)|0){j[a>>1]=j[e+20>>1]|0;j[f>>1]=(m[e+22>>1]|0)+65535;break}if(Yv(b,e)|0){j[a>>1]=j[e+20>>1]|0;j[f>>1]=(m[e+22>>1]|0)+1}}while(0);e=k[e+52>>2]|0}while((e|0)!=0)}a=Zv(c,b)|0;if(a){c=k[a>>2]|0;b:do if(c){a=c+52|0;if(k[a>>2]|0)do{a=Zv(a,b)|0;if(!a)break b;d=k[a>>2]|0;if(!d)break b;k[a>>2]=k[d+52>>2];Ou(h,d);rg(h,d)}while((k[a>>2]|0)!=0)}else{c=rh(h,72,0)|0;k[a>>2]=c;if(!c){a=7;break a}k[c+48>>2]=c+56;j[c+40>>1]=0;j[c+44>>1]=3;k[c+36>>2]=0;k[c+52>>2]=0}while(0);Qv(h,c);do if(!(Su(h,c,m[b+40>>1]|0)|0)){d=c+0|0;a=b+0|0;e=d+44|0;do{k[d>>2]=k[a>>2];d=d+4|0;a=a+4|0}while((d|0)<(e|0));pw(k[c+48>>2]|0,k[b+48>>2]|0,m[c+40>>1]<<2|0)|0;a=k[g>>2]|0;if(a&1024){i[b+28>>0]=0;break}if(a&16384)k[b+28>>2]=0}else{a=c+24|0;k[a+0>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0}while(0);if(((k[c+36>>2]&1024|0)==0?(l=c+28|0,n=k[l>>2]|0,(n|0)!=0):0)?(k[n+40>>2]|0)==0:0){k[l>>2]=0;a=0}else a=0}else a=0}else{c=b;Pv(a,k[c>>2]|0,k[c+4>>2]|0,j[b+20>>1]|0,j[b+22>>1]|0);a=0}while(0);return a|0}function Lv(a,b){a=a|0;b=b|0;var c=0,d=0;c=a<<16>>16;d=b<<16>>16;do if(a<<16>>16<b<<16>>16)if((d|0)<=(c+49|0))if((d|0)>(c+31|0)){a=d+1&65535;break}else{a=(l[34032+(d-c)>>0]|0)+d&65535;break}else a=b;else if((c|0)<=(d+49|0))if((c|0)>(d+31|0)){a=c+1&65535;break}else{a=(l[34032+(c-d)>>0]|0)+c&65535;break}while(0);return a|0}function Mv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;do if(!(Hu(a,b,c)|0))d=1;else{d=i[b>>0]|0;if(d<<24>>24==71){if(Mv(a,k[b+12>>2]|0,c)|0){d=1;break}if(Mv(a,k[b+16>>2]|0,c)|0){d=1;break}if(d<<24>>24==77)e=6}else if(d<<24>>24==77)e=6;if(((e|0)==6?(Hu(k[a+12>>2]|0,k[b+12>>2]|0,c)|0)==0:0)?(d=i[a>>0]|0,!(d<<24>>24==73|d<<24>>24==76)):0){d=1;break}d=0}while(0);return d|0}function Nv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,l=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0;v=r;r=r+16|0;if((r|0)>=(s|0))ka();u=v;q=b;t=b+8|0;d=t;p=~(k[d>>2]|k[q>>2]);q=~(k[d+4>>2]|k[q+4>>2]);d=k[a+12>>2]|0;n=a+20|0;a:do if((d|0)>0){o=b+40|0;a=b+22|0;l=b+48|0;b=0;i=k[n>>2]|0;while(1){if(j[i+20>>1]&2)break a;h=i+40|0;g=k[h>>2]|0;h=k[h+4>>2]|0;f=t;b:do if(((k[f>>2]&g|0)!=0?1:(k[f+4>>2]&h|0)!=0)&((g&p|0)==0&(h&q|0)==0)){e=j[o>>1]|0;c:do if(e<<16>>16){h=k[l>>2]|0;g=e&65535;while(1){e=g;g=g+-1|0;f=k[h+(g<<2)>>2]|0;if(f){if((f|0)==(i|0))break;f=k[f+4>>2]|0;if((f|0)>-1?((k[n>>2]|0)+(f*48|0)|0)==(i|0):0)break}if((g|0)<=0)break c}if((e|0)>=1)break b}while(0);e=j[i+16>>1]|0;if(e<<16>>16<1){j[a>>1]=(m[a>>1]|0)+(e&65535);break}j[a>>1]=(j[a>>1]|0)+-1<<16>>16;if(j[i+18>>1]&2){g=(Rs(k[(k[i>>2]|0)+16>>2]|0,u)|0)!=0;h=k[u>>2]|0;h=g&(h|0)>-2&(h|0)<2?10:20;k[u>>2]=h;b=(b<<16>>16|0)<(h|0)?h&65535:b}}while(0);d=d+-1|0;if((d|0)<=0)break;else i=i+48|0}}else{a=b+22|0;b=0}while(0);b=(c<<16>>16)-(b<<16>>16)|0;if((j[a>>1]|0)>(b|0))j[a>>1]=b;r=v;return}function Ov(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0;da=r;r=r+112|0;if((r|0)>=(s|0))ka();O=da;S=k[k[k[a>>2]>>2]>>2]|0;ba=k[a+12>>2]|0;if(!(i[S+65>>0]|0)){ca=ba+36|0;if(!(k[ca>>2]&32))if((k[c+40>>2]|0)<1)e=63;else e=(i[b+36>>0]&8)<<4^191;else e=24;T=c+51|0;$=ba+24|0;f=j[(k[c+4>>2]|0)+(m[$>>1]<<1)>>1]|0;K=f<<16>>16;L=a+4|0;e=Iv(O,k[L>>2]|0,k[b+40>>2]|0,K,(i[T>>0]&4)==0?e:e&131,c)|0;U=j[$>>1]|0;V=ba+42|0;Q=j[V>>1]|0;W=ba+40|0;R=j[W>>1]|0;X=k[ca>>2]|0;N=ba;M=k[N>>2]|0;N=k[N+4>>2]|0;Y=ba+22|0;Z=j[Y>>1]|0;j[ba+18>>1]=0;_=c+8|0;A=j[k[_>>2]>>1]|0;if(A<<16>>16<11)z=0;else{z=A<<16>>16;z=((ks(z,((z|0)<0)<<31>>31)|0)&65535)+65503&65535}a:do if(!e)e=0;else{B=f<<16>>16<0;C=b+16|0;D=ba+8|0;E=(R&65535)+1|0;F=ba+48|0;G=d<<16>>16==0;H=c+46|0;t=f<<16>>16>-1;u=c+50|0;v=c+44|0;w=ba+20|0;x=d<<16>>16;y=c+48|0;l=0;p=e;n=0;while(1){f=j[p+18>>1]|0;o=f&65535;if(f<<16>>16==128)if(!B?(i[(k[(k[C>>2]|0)+4>>2]|0)+(K*24|0)+20>>0]|0)==0:0)P=12;else{g=l;f=n;e=0}else P=12;if((P|0)==12){P=0;g=p+32|0;q=g;h=D;if(((k[h>>2]&k[q>>2]|0)==0?(k[h+4>>2]&k[q+4>>2]|0)==0:0)?(I=p+20|0,!((j[I>>1]&256)!=0&f<<16>>16==16)):0){k[ca>>2]=X;j[$>>1]=U;j[W>>1]=R;if(Su(S,ba,E)|0){e=0;break a}e=j[W>>1]|0;h=e+1<<16>>16;j[W>>1]=h;k[(k[F>>2]|0)+((e&65535)<<2)>>2]=p;e=g;f=D;g=(k[e+4>>2]|N)&~k[f+4>>2];q=ba;k[q>>2]=(k[e>>2]|M)&~k[f>>2];k[q+4>>2]=g;b:do if(!(o&1)){if(o&2){e=k[ca>>2]|0;f=e|1;k[ca>>2]=f;do if(!B){if(!G){q=0;break b}if((m[$>>1]|0)!=((m[H>>1]|0)+-1|0)){q=0;break b}if(!t)break;if(i[u>>0]|0)break;f=e|65537;k[ca>>2]=f;q=0;break b}while(0);f=e|4097;k[ca>>2]=f;q=0;break}if(o&128){f=k[ca>>2]|8;k[ca>>2]=f;q=0;break}e=k[ca>>2]|0;if(!(o&36)){f=e|18;k[ca>>2]=f;if(!(e&32)){q=0;l=0;n=p;break}q=0;l=k[(k[F>>2]|0)+((h&65535)+-2<<2)>>2]|0;n=p;break}f=e|34;k[ca>>2]=f;if(!(j[I>>1]&256)){q=0;l=p;n=0}else{e=p+48|0;if(Su(S,ba,(h&65535)+1|0)|0){e=0;break a}f=j[W>>1]|0;j[W>>1]=f+1<<16>>16;k[(k[F>>2]|0)+((f&65535)<<2)>>2]=e;f=k[ca>>2]|16;k[ca>>2]=f;q=0;l=p;n=e}}else{e=k[p>>2]|0;f=k[ca>>2]|4;k[ca>>2]=f;if(!(k[e+4>>2]&2048)){e=k[e+20>>2]|0;if((e|0)!=0?(J=k[e>>2]|0,(J|0)!=0):0)q=(ks(J,((J|0)<0)<<31>>31)|0)<<16>>16;else q=0}else q=46}while(0);do if(!(f&2)){e=(j[$>>1]|0)+1<<16>>16;j[$>>1]=e;e=e&65535;g=j[p+16>>1]|0;if(g<<16>>16<1&t){h=(g&65535)-q+(m[Y>>1]|0)&65535;j[Y>>1]=h;break}g=k[_>>2]|0;g=(m[Y>>1]|0)+((m[g+(e<<1)>>1]|0)-(m[g+(e+-1<<1)>>1]|0))|0;e=g&65535;j[Y>>1]=e;if(!(o&128))h=e;else{h=g+10&65535;j[Y>>1]=h}}else{e=j[Y>>1]|0;h=e<<16>>16;do if(l){g=j[l+16>>1]|0;if(g<<16>>16<1){e=(g&65535)+(e&65535)&65535;break}else{e=(e&65535)+65516&65535;break}}while(0);do if(n){g=j[n+16>>1]|0;if(g<<16>>16<1){e=(g&65535)+(e&65535)&65535;break}else{e=(e&65535)+65516&65535;break}}while(0);g=(l|0)!=0;do if(g?(j[l+16>>1]|0)>0&(n|0)!=0:0){if((j[n+16>>1]|0)<=0)break;e=(e&65535)+65516&65535}while(0);h=(((n|0)!=0)<<31>>31)+(g<<31>>31)+h|0;p=e<<16>>16<10?10:e<<16>>16;h=((p|0)<(h|0)?p:h)&65535;j[Y>>1]=h}while(0);e=h&65535;g=Lv(z,e+1+(((j[v>>1]|0)*15|0)/(j[(k[C>>2]|0)+42>>1]|0)|0)&65535)|0;if(!(f&320))g=Lv(g,e+16&65535)|0;f=q+x|0;j[w>>1]=(g&65535)+f;j[Y>>1]=e+f;Nv(k[L>>2]|0,ba,A);e=Kv(a,ba)|0;q=k[ca>>2]|0;j[Y>>1]=(q&2|0)==0?h:Z;if((q&16|0)==0?(m[$>>1]|0)<(m[y>>1]|0):0)Ov(a,b,c,f&65535)|0;j[Y>>1]=Z;g=l;f=n}else{g=l;f=n;e=0}}p=Jv(O)|0;if(!((e|0)==0&(p|0)!=0))break;else{l=g;n=f}}}while(0);f=ba;k[f>>2]=M;k[f+4>>2]=N;j[$>>1]=U;j[V>>1]=Q;k[ca>>2]=X;j[Y>>1]=Z;j[W>>1]=R;f=U&65535;if(((U<<16>>16==Q<<16>>16?(aa=f+1|0,aa>>>0<(m[c+46>>1]|0)>>>0):0)?(i[T>>0]&64)==0:0)?(j[(k[_>>2]|0)+(aa<<1)>>1]|0)>41:0){e=Su(S,ba,(R&65535)+1|0)|0;if(!e){j[$>>1]=(j[$>>1]|0)+1<<16>>16;j[V>>1]=(j[V>>1]|0)+1<<16>>16;e=j[W>>1]|0;j[W>>1]=e+1<<16>>16;k[(k[ba+48>>2]|0)+((e&65535)<<2)>>2]=0;k[ca>>2]=k[ca>>2]|32768;e=k[_>>2]|0;e=(m[e+(f<<1)>>1]|0)-(m[e+(aa<<1)>>1]|0)|0;j[Y>>1]=(m[Y>>1]|0)-e;Ov(a,b,c,(((e<<16)+327680|0)>>>16)+(d&65535)&65535)|0;j[Y>>1]=Z;j[$>>1]=U;j[V>>1]=U;k[ca>>2]=X;e=0}}}else e=7;r=da;return e|0}function Pv(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0,p=0;l=j[a>>1]|0;f=a+8|0;a:do if(l<<16>>16){h=l;i=f;while(1){g=j[i+8>>1]|0;if(g<<16>>16>=d<<16>>16?(p=i,(k[p>>2]&b|0)==(b|0)?(k[p+4>>2]&c|0)==(c|0):0):0){n=i;o=14;break a}if(g<<16>>16<=d<<16>>16?(g=i,p=k[g>>2]|0,g=k[g+4>>2]|0,(p&b|0)==(p|0)&(g&c|0)==(g|0)):0)break a;h=h+-1<<16>>16;if(!(h<<16>>16))break;else i=i+16|0}if((l&65535)>=3){g=j[a+16>>1]|0;i=1;do{if(g<<16>>16>(j[a+(i<<4)+16>>1]|0))f=a+(i<<4)+8|0;i=i+1|0;g=j[f+8>>1]|0}while((i&65535)<(l&65535));if(g<<16>>16>d<<16>>16){n=f;o=14}}else o=9}else o=9;while(0);if((o|0)==9){n=l&65535;j[a>>1]=l+1<<16>>16;j[a+(n<<4)+18>>1]=e;n=a+(n<<4)+8|0;o=14}if((o|0)==14?(m=n,k[m>>2]=b,k[m+4>>2]=c,j[n+8>>1]=d,m=n+10|0,(j[m>>1]|0)>e<<16>>16):0)j[m>>1]=e;return}function Qv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=k[b+36>>2]|0;do if(c&17408){if((c&1024|0)!=0?(f=b+28|0,(i[f>>0]|0)!=0):0){c=b+32|0;$c(k[c>>2]|0);i[f>>0]=0;k[c>>2]=0;break}if((c&16384|0)!=0?(d=b+28|0,e=k[d>>2]|0,(e|0)!=0):0){rg(a,k[e+16>>2]|0);rg(a,k[d>>2]|0);k[d>>2]=0}}while(0);return}function Rv(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0;qa=r;r=r+32|0;if((r|0)>=(s|0))ka();la=qa;n=k[k[a>>2]>>2]|0;ja=e&65535;if(e<<16>>16!=0?(j[n+60>>1]&128)!=0:0)h=0;else ma=3;a:do if((ma|0)==3){pa=k[b>>2]|0;h=pa&65535;if(h>>>0<=63){na=nw(1,0,h|0)|0;na=ow(na|0,L|0,-1,-1)|0;oa=L;b:do if((na|0)==0&(oa|0)==0){b=0;c=0;n=1}else{da=c+24|0;ea=a+4|0;fa=(h|0)==0;ba=b+4|0;ca=(d&768)==0;aa=n+8|0;T=(d&256)==0;U=a+68|0;V=la+20|0;W=la+4|0;Z=la+24|0;_=a+328|0;X=0;Y=0;b=0;c=0;d=0;o=0;$=0;n=1;e=0;while(1){if(($|0)>0){R=e+8|0;S=k[R>>2]|d;o=k[R+4>>2]|o}else S=d;if(($|0)<(ja|0))e=k[(k[da>>2]|0)+($<<2)>>2]|0;else e=f;y=e+36|0;d=k[y>>2]|0;if(d&1024)break;R=k[(k[ea>>2]|0)+((l[e+16>>0]|0)*72|0)+48>>2]|0;if(!fa){d=~S;q=~o;v=0;do{x=nw(1,0,v|0)|0;w=L;c:do if((x&b|0)==0&(w&c|0)==0){p=k[(k[ba>>2]|0)+(v*20|0)>>2]|0;u=k[p+4>>2]|0;if(u&4096)do{if(!(u&262144))p=p+12|0;else p=k[(k[p+20>>2]|0)+4>>2]|0;p=k[p>>2]|0;u=k[p+4>>2]|0}while((u&4096|0)!=0);if(((i[p>>0]|0)==-102?(k[p+28>>2]|0)==(R|0):0)?(ga=p+32|0,ha=Ku(_,R,j[ga>>1]|0,d,q,130,0)|0,(ha|0)!=0):0){do if(j[ha+18>>1]&2){if((j[ga>>1]|0)<=-1)break;p=hu(k[a>>2]|0,k[(k[ba>>2]|0)+(v*20|0)>>2]|0)|0;if(!p)p=k[aa>>2]|0;u=k[p>>2]|0;t=hu(k[a>>2]|0,k[ha>>2]|0)|0;if(!t)t=k[aa>>2]|0;if(id(u,k[t>>2]|0)|0)break c}while(0);b=x|b;c=w|c}}while(0);v=v+1|0}while((v|0)<(h|0));d=k[y>>2]|0}do if(!(d&4096)){if(!(d&256)){p=k[e+28>>2]|0;if(!p){h=0;break a}if(i[p+51>>0]&4){h=0;break a}d=j[p+48>>1]|0;n=(i[p+50>>0]|0)!=0&1;if(!(d<<16>>16)){ma=71;break}else{P=d&65535;Q=j[p+46>>1]|0}}else{P=1;Q=0;p=0}F=e+24|0;G=e+42|0;H=e+48|0;I=(p|0)==0;J=p+32|0;K=nw(1,0,$|0)|0;M=L;N=p+4|0;O=p+28|0;E=p+12|0;d=0;p=0;x=0;D=0;d:while(1){w=(p|0)<(m[F>>1]|0);if((w?(j[G>>1]|0)==0:0)?(ia=m[(k[(k[H>>2]|0)+(p<<2)>>2]|0)+18>>1]|0,(ia&130|0)!=0):0){n=(ia&128|0)==0?n:0;w=D}else{if(!I){u=j[(k[N>>2]|0)+(p<<1)>>1]|0;t=i[(k[O>>2]|0)+p>>0]|0;q=k[E>>2]|0;u=u<<16>>16==(j[q+36>>1]|0)?-1:u<<16>>16;v=(u|0)>-1;if(n<<24>>24!=0&v)if(w){v=1;C=u}else{v=1;C=u;n=(i[(k[q+4>>2]|0)+(u*24|0)+20>>0]|0)==0?0:n}else C=u}else{v=0;C=-1;t=0}if(fa){ma=68;break}else{w=1;B=0}e:while(1){z=nw(1,0,B|0)|0;A=L;do if((z&b|0)==0&(A&c|0)==0){q=k[(k[ba>>2]|0)+(B*20|0)>>2]|0;u=k[q+4>>2]|0;if(!(u&4096))y=q;else{y=q;do{if(!(u&262144))u=y+12|0;else u=k[(k[y+20>>2]|0)+4>>2]|0;y=k[u>>2]|0;u=k[y+4>>2]|0}while((u&4096|0)!=0)}w=ca?0:w;if((i[y>>0]|0)!=-102)break;if((k[y+28>>2]|0)!=(R|0))break;if((j[y+32>>1]|0)!=(C|0))break;if(!v){y=z;v=A;w=B;break e}u=hu(k[a>>2]|0,q)|0;if(!u)u=k[aa>>2]|0;if(!(id(k[u>>2]|0,k[(k[J>>2]|0)+(p<<2)>>2]|0)|0)){y=z;v=A;w=B;break e}}while(0);B=B+1|0;if(!(w<<24>>24!=0&(B|0)<(h|0))){ma=68;break d}}do if(T){if(D<<24>>24)if((t^x)<<24>>24==(i[(k[ba>>2]|0)+(w*20|0)+12>>0]|0)){w=D;break}else{ma=68;break d}q=i[(k[ba>>2]|0)+(w*20|0)+12>>0]|0;x=q^t;if(t<<24>>24==q<<24>>24){w=1;break}q=g;t=k[q+4>>2]|M;w=g;k[w>>2]=k[q>>2]|K;k[w+4>>2]=t;w=1}else w=D;while(0);b=y|b;c=v|c;d=(C|0)<0?1:d}p=p+1|0;if((p|0)>=(P|0))break;else D=w}if((ma|0)==68){ma=0;n=(p|0)==0|(p|0)<(Q&65535|0)?0:n}if(!(d<<24>>24))ma=71;else n=1}else ma=71;while(0);if((ma|0)==71){ma=0;if(!(n<<24>>24)){n=0;break b}}R=e+8|0;X=k[R>>2]|X;Y=k[R+4>>2]|Y;if(!fa){w=~X;x=~Y;v=0;do{p=nw(1,0,v|0)|0;u=L;do if((p&b|0)==0&(u&c|0)==0){d=k[(k[ba>>2]|0)+(v*20|0)>>2]|0;q=Fv(U,d)|0;t=L;if((q|0)==0&(t|0)==0?(k[la+0>>2]=0,k[la+4>>2]=0,k[la+8>>2]=0,k[la+12>>2]=0,k[la+16>>2]=0,k[la+20>>2]=0,i[V>>0]=1,k[la>>2]=78,k[W>>2]=79,k[Z>>2]=0,ws(la,d)|0,(i[V>>0]|0)==0):0)break;R=(q&w|0)==0&(t&x|0)==0;b=(R?p:0)|b;c=(R?u:0)|c}while(0);v=v+1|0}while((v|0)<(h|0))}if(c>>>0>oa>>>0|(c|0)==(oa|0)&b>>>0>=na>>>0|n<<24>>24==0|($|0)>=(ja|0))break b;else{d=S;$=$+1|0}}ca=(i[e+29>>0]|0)==0;b=ca?b:na;c=ca?c:oa}while(0);if((b|0)==(na|0)&(c|0)==(oa|0)){h=pa&255;break}if(!(n<<24>>24)){do{h=h+-1|0;if((h|0)<=0){h=0;break a}ba=nw(1,0,h|0)|0;ba=ow(ba|0,L|0,-1,-1)|0;ca=L}while(!((ba&b|0)==(ba|0)&(ca&c|0)==(ca|0)));h=h&255}else h=-1}else h=0}while(0);r=qa;return h|0}function Sv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(b)Xk(a,33920,5);if(!c)b=0;else{b=c;while(1)if(!(i[b>>0]|0))break;else b=b+1|0;b=b-c&1073741823}Xk(a,c,b);Xk(a,d,1);Xk(a,13552,1);return}function Tv(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=k[k[k[a>>2]>>2]>>2]|0;b=k[a+12>>2]|0;e=a+20|0;if((b|0)>0){f=k[e>>2]|0;while(1){b=b+-1|0;d=f+20|0;c=j[d>>1]|0;if(c&1){Lk(g,k[f>>2]|0);c=j[d>>1]|0}c=c&65535;if(!(c&16)){if(c&32){c=k[f+12>>2]|0;Tv(c);rg(g,c)}}else{c=k[f+12>>2]|0;Tv(c);rg(g,c)}if((b|0)<=0)break;else f=f+48|0}}b=k[e>>2]|0;if((b|0)!=(a+24|0))rg(g,b);return}function Uv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,t=0,u=0;q=r;r=r+32|0;if((r|0)>=(s|0))ka();p=q;e=k[a+8>>2]|0;f=k[a>>2]|0;if(b){g=(c|0)==10;h=a+437|0;j=p+4|0;m=p+1|0;n=p+8|0;o=p+12|0;d=c&255;do{if(g)c=i[b+1>>0]|0;else c=d;i[h>>0]=c;c=l[b>>0]|0;if((c|0)==108){u=_v(a,b)|0;t=lr(f,k[b+8>>2]|0,0)|0;c=Sr(f,k[b+28>>2]|0)|0;yr(a,u,t,c,l[h>>0]|0)}else if((c|0)==110){u=_v(a,b)|0;t=Ur(f,k[b+24>>2]|0,0)|0;c=Rr(f,k[b+20>>2]|0,0,0)|0;xr(a,u,t,c,l[h>>0]|0)}else if((c|0)==109){c=_v(a,b)|0;wr(a,c,Rr(f,k[b+20>>2]|0,0,0)|0)}else{c=lr(f,k[b+8>>2]|0,0)|0;i[p>>0]=4;k[j>>2]=0;i[m>>0]=0;k[n>>2]=0;k[o>>2]=0;nr(a,c,p)|0;Rk(f,c,1)}if((i[b>>0]|0)!=119)Bh(e,98,0,0,0)|0;b=k[b+32>>2]|0}while((b|0)!=0)}r=q;return}function Vv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;h=r;r=r+16|0;if((r|0)>=(s|0))ka();e=h;g=k[a>>2]|0;k[e>>2]=0;k[e+4>>2]=0;e=sr(g,159,e,0)|0;do if(!e)e=0;else{f=d<<16>>16;if(d<<16>>16>-1?(j[b+36>>1]|0)!=d<<16>>16:0){d=k[b+4>>2]|0;k[e+28>>2]=c+1+f;i[e+1>>0]=i[d+(f*24|0)+21>>0]|0;f=k[d+(f*24|0)+16>>2]|0;if(!f)f=k[k[g+8>>2]>>2]|0;e=Cv(a,e,f)|0;break}k[e+28>>2]=c;i[e+1>>0]=68}while(0);r=h;return e|0}function Wv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;a=rh(a,48,0)|0;if(a){e=a+0|0;f=e+44|0;do{i[e>>0]=0;e=e+1|0}while((e|0)<(f|0));i[a>>0]=-102;j[a+34>>1]=-1;k[a+24>>2]=1;e=k[b+(c*72|0)+24>>2]|0;k[a+44>>2]=e;k[a+28>>2]=k[b+(c*72|0)+48>>2];if((j[e+36>>1]|0)==(d|0))j[a+32>>1]=-1;else{j[a+32>>1]=d;g=(d|0)>63;d=nw(1,0,d|0)|0;e=b+(c*72|0)+64|0;c=e;f=k[c+4>>2]|(g?-2147483648:L);k[e>>2]=k[c>>2]|(g?0:d);k[e+4>>2]=f}e=a+4|0;k[e>>2]=k[e>>2]|4}return a|0}function Xv(a,b){a=a|0;b=b|0;if((i[b>>0]|0)==-101){b=b+38|0;i[b>>0]=(l[b>>0]|0)+(k[a+24>>2]|0)}return 0}function Yv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;c=j[a+40>>1]|0;f=c&65535;e=j[a+42>>1]|0;h=m[b+40>>1]|0;d=j[b+42>>1]|0;a:do if(!((d&65535)>(e&65535)?1:(f-(e&65535)|0)>=(h-(d&65535)|0))){d=j[a+20>>1]|0;e=j[b+20>>1]|0;if(d<<16>>16>=e<<16>>16){if(d<<16>>16>e<<16>>16){c=0;break}if((j[a+22>>1]|0)>(j[b+22>>1]|0)){c=0;break}}if(!(c<<16>>16))c=1;else{g=k[a+48>>2]|0;b=b+48|0;a=f;while(1){a=a+-1|0;e=k[g+(a<<2)>>2]|0;if(e){c=h;while(1){d=c+-1|0;if((c|0)<=0){c=0;break a}if((k[(k[b>>2]|0)+(d<<2)>>2]|0)==(e|0))break;else c=d}if((c|0)<1){c=0;break a}}if((a|0)<=0){c=1;break}}}}else c=0;while(0);return c|0}function Zv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;c=k[a>>2]|0;a:do if(c){h=i[b+16>>0]|0;l=b+17|0;m=b+18|0;n=b+20|0;o=b+22|0;p=b+42|0;q=b+36|0;do{if((i[c+16>>0]|0)==h<<24>>24?(i[c+17>>0]|0)==(i[l>>0]|0):0){if((((k[c+36>>2]&16384|0)!=0?(j[p>>1]|0)==0:0)?(k[q>>2]&513|0)==513:0)?(f=c,g=b,e=k[g>>2]|0,g=k[g+4>>2]|0,(e&k[f>>2]|0)==(e|0)?(g&k[f+4>>2]|0)==(g|0):0):0)break a;r=c;s=k[r>>2]|0;r=k[r+4>>2]|0;e=b;d=k[e>>2]|0;e=k[e+4>>2]|0;f=d&s;g=e&r;if((((f|0)==(s|0)&(g|0)==(r|0)?(j[c+18>>1]|0)<=(j[m>>1]|0):0)?(j[c+20>>1]|0)<=(j[n>>1]|0):0)?(j[c+22>>1]|0)<=(j[o>>1]|0):0){a=0;break a}if(((f|0)==(d|0)&(g|0)==(e|0)?(j[c+20>>1]|0)>=(j[n>>1]|0):0)?(j[c+22>>1]|0)>=(j[o>>1]|0):0)break a}a=c+52|0;c=k[a>>2]|0}while((c|0)!=0)}while(0);return a|0}function _v(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=ur(k[a>>2]|0,0,b+12|0,0)|0;do if(g){f=k[a>>2]|0;e=k[(k[b+4>>2]|0)+20>>2]|0;a:do if(e){d=k[f+20>>2]|0;if((d|0)>0){b=k[f+16>>2]|0;c=0;while(1){a=c+1|0;if((k[b+(c<<4)+12>>2]|0)==(e|0)){a=c;c=7;break a}if((a|0)<(d|0))c=a;else{c=7;break}}}else a=0}else{a=-1e6;c=7}while(0);if((c|0)==7)if(!((a|0)==0|(a|0)>1))break;a=ph(f,k[(k[f+16>>2]|0)+(a<<4)>>2]|0)|0;k[g+(((k[g>>2]|0)+-1|0)*72|0)+12>>2]=a}while(0);return g|0}function $v(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;do if(a>>>0<245){if(a>>>0<11)p=16;else p=a+11&-8;a=p>>>3;l=k[12266]|0;h=l>>>a;if(h&3){d=(h&1^1)+a|0;e=d<<1;b=49104+(e<<2)|0;e=49104+(e+2<<2)|0;f=k[e>>2]|0;g=f+8|0;h=k[g>>2]|0;do if((b|0)!=(h|0)){if(h>>>0<(k[12270]|0)>>>0)Tb();c=h+12|0;if((k[c>>2]|0)==(f|0)){k[c>>2]=b;k[e>>2]=h;break}else Tb()}else k[12266]=l&~(1<<d);while(0);w=d<<3;k[f+4>>2]=w|3;w=f+(w|4)|0;k[w>>2]=k[w>>2]|1;w=g;return w|0}j=k[12268]|0;if(p>>>0>j>>>0){if(h){e=2<<a;e=h<<a&(e|0-e);e=(e&0-e)+-1|0;a=e>>>12&16;e=e>>>a;d=e>>>5&8;e=e>>>d;c=e>>>2&4;e=e>>>c;f=e>>>1&2;e=e>>>f;g=e>>>1&1;g=(d|a|c|f|g)+(e>>>g)|0;e=g<<1;f=49104+(e<<2)|0;e=49104+(e+2<<2)|0;c=k[e>>2]|0;a=c+8|0;d=k[a>>2]|0;do if((f|0)!=(d|0)){if(d>>>0<(k[12270]|0)>>>0)Tb();h=d+12|0;if((k[h>>2]|0)==(c|0)){k[h>>2]=f;k[e>>2]=d;m=k[12268]|0;break}else Tb()}else{k[12266]=l&~(1<<g);m=j}while(0);w=g<<3;b=w-p|0;k[c+4>>2]=p|3;i=c+p|0;k[c+(p|4)>>2]=b|1;k[c+w>>2]=b;if(m){d=k[12271]|0;f=m>>>3;h=f<<1;e=49104+(h<<2)|0;g=k[12266]|0;f=1<<f;if(g&f){g=49104+(h+2<<2)|0;h=k[g>>2]|0;if(h>>>0<(k[12270]|0)>>>0)Tb();else{n=g;o=h}}else{k[12266]=g|f;n=49104+(h+2<<2)|0;o=e}k[n>>2]=d;k[o+12>>2]=d;k[d+8>>2]=o;k[d+12>>2]=e}k[12268]=b;k[12271]=i;w=a;return w|0}a=k[12267]|0;if(a){g=(a&0-a)+-1|0;v=g>>>12&16;g=g>>>v;u=g>>>5&8;g=g>>>u;w=g>>>2&4;g=g>>>w;h=g>>>1&2;g=g>>>h;f=g>>>1&1;f=k[49368+((u|v|w|h|f)+(g>>>f)<<2)>>2]|0;g=(k[f+4>>2]&-8)-p|0;h=f;while(1){c=k[h+16>>2]|0;if(!c){c=k[h+20>>2]|0;if(!c){l=g;j=f;break}}h=(k[c+4>>2]&-8)-p|0;w=h>>>0<g>>>0;g=w?h:g;h=c;f=w?c:f}a=k[12270]|0;if(j>>>0<a>>>0)Tb();b=j+p|0;if(j>>>0>=b>>>0)Tb();i=k[j+24>>2]|0;f=k[j+12>>2]|0;do if((f|0)==(j|0)){g=j+20|0;h=k[g>>2]|0;if(!h){g=j+16|0;h=k[g>>2]|0;if(!h){d=0;break}}while(1){f=h+20|0;e=k[f>>2]|0;if(e){h=e;g=f;continue}f=h+16|0;e=k[f>>2]|0;if(!e)break;else{h=e;g=f}}if(g>>>0<a>>>0)Tb();else{k[g>>2]=0;d=h;break}}else{e=k[j+8>>2]|0;if(e>>>0<a>>>0)Tb();h=e+12|0;if((k[h>>2]|0)!=(j|0))Tb();g=f+8|0;if((k[g>>2]|0)==(j|0)){k[h>>2]=f;k[g>>2]=e;d=f;break}else Tb()}while(0);do if(i){h=k[j+28>>2]|0;g=49368+(h<<2)|0;if((j|0)==(k[g>>2]|0)){k[g>>2]=d;if(!d){k[12267]=k[12267]&~(1<<h);break}}else{if(i>>>0<(k[12270]|0)>>>0)Tb();h=i+16|0;if((k[h>>2]|0)==(j|0))k[h>>2]=d;else k[i+20>>2]=d;if(!d)break}g=k[12270]|0;if(d>>>0<g>>>0)Tb();k[d+24>>2]=i;h=k[j+16>>2]|0;do if(h)if(h>>>0<g>>>0)Tb();else{k[d+16>>2]=h;k[h+24>>2]=d;break}while(0);h=k[j+20>>2]|0;if(h)if(h>>>0<(k[12270]|0)>>>0)Tb();else{k[d+20>>2]=h;k[h+24>>2]=d;break}}while(0);if(l>>>0<16){w=l+p|0;k[j+4>>2]=w|3;w=j+(w+4)|0;k[w>>2]=k[w>>2]|1}else{k[j+4>>2]=p|3;k[j+(p|4)>>2]=l|1;k[j+(l+p)>>2]=l;c=k[12268]|0;if(c){d=k[12271]|0;f=c>>>3;h=f<<1;e=49104+(h<<2)|0;g=k[12266]|0;f=1<<f;if(g&f){h=49104+(h+2<<2)|0;g=k[h>>2]|0;if(g>>>0<(k[12270]|0)>>>0)Tb();else{q=h;r=g}}else{k[12266]=g|f;q=49104+(h+2<<2)|0;r=e}k[q>>2]=d;k[r+12>>2]=d;k[d+8>>2]=r;k[d+12>>2]=e}k[12268]=l;k[12271]=b}w=j+8|0;return w|0}else r=p}else r=p}else if(a>>>0<=4294967231){a=a+11|0;r=a&-8;j=k[12267]|0;if(j){g=0-r|0;a=a>>>8;if(a)if(r>>>0>16777215)c=31;else{p=(a+1048320|0)>>>16&8;q=a<<p;o=(q+520192|0)>>>16&4;q=q<<o;c=(q+245760|0)>>>16&2;c=14-(o|p|c)+(q<<c>>>15)|0;c=r>>>(c+7|0)&1|c<<1}else c=0;e=k[49368+(c<<2)>>2]|0;a:do if(!e){a=0;h=0}else{if((c|0)==31)h=0;else h=25-(c>>>1)|0;l=g;a=0;b=r<<h;h=0;while(1){d=k[e+4>>2]&-8;g=d-r|0;if(g>>>0<l>>>0)if((d|0)==(r|0)){a=e;h=e;break a}else h=e;else g=l;q=k[e+20>>2]|0;e=k[e+(b>>>31<<2)+16>>2]|0;a=(q|0)==0|(q|0)==(e|0)?a:q;if(!e)break;else{l=g;b=b<<1}}}while(0);if((a|0)==0&(h|0)==0){a=2<<c;a=j&(a|0-a);if(!a)break;q=(a&0-a)+-1|0;n=q>>>12&16;q=q>>>n;m=q>>>5&8;q=q>>>m;o=q>>>2&4;q=q>>>o;p=q>>>1&2;q=q>>>p;a=q>>>1&1;a=k[49368+((m|n|o|p|a)+(q>>>a)<<2)>>2]|0}if(!a){o=g;p=h}else while(1){q=(k[a+4>>2]&-8)-r|0;e=q>>>0<g>>>0;g=e?q:g;h=e?a:h;e=k[a+16>>2]|0;if(e){a=e;continue}a=k[a+20>>2]|0;if(!a){o=g;p=h;break}}if((p|0)!=0?o>>>0<((k[12268]|0)-r|0)>>>0:0){a=k[12270]|0;if(p>>>0<a>>>0)Tb();m=p+r|0;if(p>>>0>=m>>>0)Tb();i=k[p+24>>2]|0;f=k[p+12>>2]|0;do if((f|0)==(p|0)){g=p+20|0;h=k[g>>2]|0;if(!h){g=p+16|0;h=k[g>>2]|0;if(!h){t=0;break}}while(1){f=h+20|0;e=k[f>>2]|0;if(e){h=e;g=f;continue}f=h+16|0;e=k[f>>2]|0;if(!e)break;else{h=e;g=f}}if(g>>>0<a>>>0)Tb();else{k[g>>2]=0;t=h;break}}else{e=k[p+8>>2]|0;if(e>>>0<a>>>0)Tb();h=e+12|0;if((k[h>>2]|0)!=(p|0))Tb();g=f+8|0;if((k[g>>2]|0)==(p|0)){k[h>>2]=f;k[g>>2]=e;t=f;break}else Tb()}while(0);do if(i){h=k[p+28>>2]|0;g=49368+(h<<2)|0;if((p|0)==(k[g>>2]|0)){k[g>>2]=t;if(!t){k[12267]=k[12267]&~(1<<h);break}}else{if(i>>>0<(k[12270]|0)>>>0)Tb();h=i+16|0;if((k[h>>2]|0)==(p|0))k[h>>2]=t;else k[i+20>>2]=t;if(!t)break}g=k[12270]|0;if(t>>>0<g>>>0)Tb();k[t+24>>2]=i;h=k[p+16>>2]|0;do if(h)if(h>>>0<g>>>0)Tb();else{k[t+16>>2]=h;k[h+24>>2]=t;break}while(0);h=k[p+20>>2]|0;if(h)if(h>>>0<(k[12270]|0)>>>0)Tb();else{k[t+20>>2]=h;k[h+24>>2]=t;break}}while(0);b:do if(o>>>0>=16){k[p+4>>2]=r|3;k[p+(r|4)>>2]=o|1;k[p+(o+r)>>2]=o;h=o>>>3;if(o>>>0<256){g=h<<1;e=49104+(g<<2)|0;f=k[12266]|0;h=1<<h;do if(!(f&h)){k[12266]=f|h;u=49104+(g+2<<2)|0;v=e}else{h=49104+(g+2<<2)|0;g=k[h>>2]|0;if(g>>>0>=(k[12270]|0)>>>0){u=h;v=g;break}Tb()}while(0);k[u>>2]=m;k[v+12>>2]=m;k[p+(r+8)>>2]=v;k[p+(r+12)>>2]=e;break}c=o>>>8;if(c)if(o>>>0>16777215)e=31;else{v=(c+1048320|0)>>>16&8;w=c<<v;u=(w+520192|0)>>>16&4;w=w<<u;e=(w+245760|0)>>>16&2;e=14-(u|v|e)+(w<<e>>>15)|0;e=o>>>(e+7|0)&1|e<<1}else e=0;h=49368+(e<<2)|0;k[p+(r+28)>>2]=e;k[p+(r+20)>>2]=0;k[p+(r+16)>>2]=0;g=k[12267]|0;f=1<<e;if(!(g&f)){k[12267]=g|f;k[h>>2]=m;k[p+(r+24)>>2]=h;k[p+(r+12)>>2]=m;k[p+(r+8)>>2]=m;break}c=k[h>>2]|0;if((e|0)==31)b=0;else b=25-(e>>>1)|0;c:do if((k[c+4>>2]&-8|0)!=(o|0)){g=o<<b;while(1){b=c+(g>>>31<<2)+16|0;h=k[b>>2]|0;if(!h)break;if((k[h+4>>2]&-8|0)==(o|0)){B=h;break c}else{g=g<<1;c=h}}if(b>>>0<(k[12270]|0)>>>0)Tb();else{k[b>>2]=m;k[p+(r+24)>>2]=c;k[p+(r+12)>>2]=m;k[p+(r+8)>>2]=m;break b}}else B=c;while(0);c=B+8|0;b=k[c>>2]|0;w=k[12270]|0;if(B>>>0>=w>>>0&b>>>0>=w>>>0){k[b+12>>2]=m;k[c>>2]=m;k[p+(r+8)>>2]=b;k[p+(r+12)>>2]=B;k[p+(r+24)>>2]=0;break}else Tb()}else{w=o+r|0;k[p+4>>2]=w|3;w=p+(w+4)|0;k[w>>2]=k[w>>2]|1}while(0);w=p+8|0;return w|0}}}else r=-1;while(0);a=k[12268]|0;if(a>>>0>=r>>>0){b=a-r|0;c=k[12271]|0;if(b>>>0>15){k[12271]=c+r;k[12268]=b;k[c+(r+4)>>2]=b|1;k[c+a>>2]=b;k[c+4>>2]=r|3}else{k[12268]=0;k[12271]=0;k[c+4>>2]=a|3;w=c+(a+4)|0;k[w>>2]=k[w>>2]|1}w=c+8|0;return w|0}a=k[12269]|0;if(a>>>0>r>>>0){v=a-r|0;k[12269]=v;w=k[12272]|0;k[12272]=w+r;k[w+(r+4)>>2]=v|1;k[w+4>>2]=r|3;w=w+8|0;return w|0}do if(!(k[12384]|0)){a=Bb(30)|0;if(!(a+-1&a)){k[12386]=a;k[12385]=a;k[12387]=-1;k[12388]=-1;k[12389]=0;k[12377]=0;v=(Ub(0)|0)&-16^1431655768;k[12384]=v;break}else Tb()}while(0);l=r+48|0;b=k[12386]|0;j=r+47|0;c=b+j|0;b=0-b|0;m=c&b;if(m>>>0<=r>>>0){w=0;return w|0}a=k[12376]|0;if((a|0)!=0?(u=k[12374]|0,v=u+m|0,v>>>0<=u>>>0|v>>>0>a>>>0):0){w=0;return w|0}d:do if(!(k[12377]&4)){a=k[12272]|0;e:do if(a){e=49512|0;while(1){h=k[e>>2]|0;if(h>>>0<=a>>>0?(s=e+4|0,(h+(k[s>>2]|0)|0)>>>0>a>>>0):0){d=e;g=s;a=e;break}e=k[e+8>>2]|0;if(!e){G=181;break e}}if(a){a=c-(k[12269]|0)&b;if(a>>>0<2147483647){h=xb(a|0)|0;if((h|0)==((k[d>>2]|0)+(k[g>>2]|0)|0))G=190;else G=191}else a=0}else G=181}else G=181;while(0);do if((G|0)==181){h=xb(0)|0;if((h|0)!=(-1|0)){a=h;g=k[12385]|0;e=g+-1|0;if(!(e&a))a=m;else a=m-a+(e+a&0-g)|0;g=k[12374]|0;e=g+a|0;if(a>>>0>r>>>0&a>>>0<2147483647){v=k[12376]|0;if((v|0)!=0?e>>>0<=g>>>0|e>>>0>v>>>0:0){a=0;break}g=xb(a|0)|0;if((g|0)==(h|0))G=190;else{h=g;G=191}}else a=0}else a=0}while(0);f:do if((G|0)==190){if((h|0)!=(-1|0)){x=h;G=201;break d}}else if((G|0)==191){g=0-a|0;do if((h|0)!=(-1|0)&a>>>0<2147483647&l>>>0>a>>>0?(w=k[12386]|0,w=j-a+w&0-w,w>>>0<2147483647):0)if((xb(w|0)|0)==(-1|0)){xb(g|0)|0;a=0;break f}else{a=w+a|0;break}while(0);if((h|0)==(-1|0))a=0;else{x=h;G=201;break d}}while(0);k[12377]=k[12377]|4;G=198}else{a=0;G=198}while(0);if((((G|0)==198?m>>>0<2147483647:0)?(x=xb(m|0)|0,y=xb(0)|0,(x|0)!=(-1|0)&(y|0)!=(-1|0)&x>>>0<y>>>0):0)?(z=y-x|0,A=z>>>0>(r+40|0)>>>0,A):0){a=A?z:a;G=201}if((G|0)==201){h=(k[12374]|0)+a|0;k[12374]=h;if(h>>>0>(k[12375]|0)>>>0)k[12375]=h;l=k[12272]|0;g:do if(l){d=49512|0;do{h=k[d>>2]|0;g=d+4|0;e=k[g>>2]|0;if((x|0)==(h+e|0)){C=h;D=g;E=e;F=d;G=213;break}d=k[d+8>>2]|0}while((d|0)!=0);if(((G|0)==213?(k[F+12>>2]&8|0)==0:0)?l>>>0>=C>>>0&l>>>0<x>>>0:0){k[D>>2]=E+a;b=(k[12269]|0)+a|0;c=l+8|0;if(!(c&7))c=0;else c=0-c&7;w=b-c|0;k[12272]=l+c;k[12269]=w;k[l+(c+4)>>2]=w|1;k[l+(b+4)>>2]=40;k[12273]=k[12388];break}h=k[12270]|0;if(x>>>0<h>>>0){k[12270]=x;j=x}else j=h;h=x+a|0;g=49512|0;do{if((k[g>>2]|0)==(h|0)){H=g;I=g;G=223;break}g=k[g+8>>2]|0}while((g|0)!=0);if((G|0)==223?(k[I+12>>2]&8|0)==0:0){k[H>>2]=x;h=I+4|0;k[h>>2]=(k[h>>2]|0)+a;h=x+8|0;if(!(h&7))p=0;else p=0-h&7;h=x+(a+8)|0;if(!(h&7))c=0;else c=0-h&7;h=x+(c+a)|0;o=p+r|0;n=x+o|0;m=h-(x+p)-r|0;k[x+(p+4)>>2]=r|3;h:do if((h|0)!=(l|0)){if((h|0)==(k[12271]|0)){w=(k[12268]|0)+m|0;k[12268]=w;k[12271]=n;k[x+(o+4)>>2]=w|1;k[x+(w+o)>>2]=w;break}l=a+4|0;i=k[x+(l+c)>>2]|0;if((i&3|0)==1){b=i&-8;e=i>>>3;i:do if(i>>>0>=256){d=k[x+((c|24)+a)>>2]|0;f=k[x+(a+12+c)>>2]|0;do if((f|0)==(h|0)){f=c|16;g=x+(l+f)|0;i=k[g>>2]|0;if(!i){g=x+(f+a)|0;i=k[g>>2]|0;if(!i){N=0;break}}while(1){f=i+20|0;e=k[f>>2]|0;if(e){i=e;g=f;continue}f=i+16|0;e=k[f>>2]|0;if(!e)break;else{i=e;g=f}}if(g>>>0<j>>>0)Tb();else{k[g>>2]=0;N=i;break}}else{e=k[x+((c|8)+a)>>2]|0;if(e>>>0<j>>>0)Tb();i=e+12|0;if((k[i>>2]|0)!=(h|0))Tb();g=f+8|0;if((k[g>>2]|0)==(h|0)){k[i>>2]=f;k[g>>2]=e;N=f;break}else Tb()}while(0);if(!d)break;i=k[x+(a+28+c)>>2]|0;g=49368+(i<<2)|0;do if((h|0)!=(k[g>>2]|0)){if(d>>>0<(k[12270]|0)>>>0)Tb();i=d+16|0;if((k[i>>2]|0)==(h|0))k[i>>2]=N;else k[d+20>>2]=N;if(!N)break i}else{k[g>>2]=N;if(N)break;k[12267]=k[12267]&~(1<<i);break i}while(0);g=k[12270]|0;if(N>>>0<g>>>0)Tb();k[N+24>>2]=d;i=c|16;h=k[x+(i+a)>>2]|0;do if(h)if(h>>>0<g>>>0)Tb();else{k[N+16>>2]=h;k[h+24>>2]=N;break}while(0);h=k[x+(l+i)>>2]|0;if(!h)break;if(h>>>0<(k[12270]|0)>>>0)Tb();else{k[N+20>>2]=h;k[h+24>>2]=N;break}}else{g=k[x+((c|8)+a)>>2]|0;f=k[x+(a+12+c)>>2]|0;i=49104+(e<<1<<2)|0;do if((g|0)!=(i|0)){if(g>>>0<j>>>0)Tb();if((k[g+12>>2]|0)==(h|0))break;Tb()}while(0);if((f|0)==(g|0)){k[12266]=k[12266]&~(1<<e);break}do if((f|0)==(i|0))J=f+8|0;else{if(f>>>0<j>>>0)Tb();i=f+8|0;if((k[i>>2]|0)==(h|0)){J=i;break}Tb()}while(0);k[g+12>>2]=f;k[J>>2]=g}while(0);h=x+((b|c)+a)|0;i=b+m|0}else i=m;h=h+4|0;k[h>>2]=k[h>>2]&-2;k[x+(o+4)>>2]=i|1;k[x+(i+o)>>2]=i;h=i>>>3;if(i>>>0<256){g=h<<1;e=49104+(g<<2)|0;f=k[12266]|0;h=1<<h;do if(!(f&h)){k[12266]=f|h;O=49104+(g+2<<2)|0;P=e}else{h=49104+(g+2<<2)|0;g=k[h>>2]|0;if(g>>>0>=(k[12270]|0)>>>0){O=h;P=g;break}Tb()}while(0);k[O>>2]=n;k[P+12>>2]=n;k[x+(o+8)>>2]=P;k[x+(o+12)>>2]=e;break}c=i>>>8;do if(!c)e=0;else{if(i>>>0>16777215){e=31;break}v=(c+1048320|0)>>>16&8;w=c<<v;u=(w+520192|0)>>>16&4;w=w<<u;e=(w+245760|0)>>>16&2;e=14-(u|v|e)+(w<<e>>>15)|0;e=i>>>(e+7|0)&1|e<<1}while(0);h=49368+(e<<2)|0;k[x+(o+28)>>2]=e;k[x+(o+20)>>2]=0;k[x+(o+16)>>2]=0;g=k[12267]|0;f=1<<e;if(!(g&f)){k[12267]=g|f;k[h>>2]=n;k[x+(o+24)>>2]=h;k[x+(o+12)>>2]=n;k[x+(o+8)>>2]=n;break}c=k[h>>2]|0;if((e|0)==31)h=0;else h=25-(e>>>1)|0;j:do if((k[c+4>>2]&-8|0)!=(i|0)){g=i<<h;while(1){b=c+(g>>>31<<2)+16|0;h=k[b>>2]|0;if(!h)break;if((k[h+4>>2]&-8|0)==(i|0)){Q=h;break j}else{g=g<<1;c=h}}if(b>>>0<(k[12270]|0)>>>0)Tb();else{k[b>>2]=n;k[x+(o+24)>>2]=c;k[x+(o+12)>>2]=n;k[x+(o+8)>>2]=n;break h}}else Q=c;while(0);c=Q+8|0;b=k[c>>2]|0;w=k[12270]|0;if(Q>>>0>=w>>>0&b>>>0>=w>>>0){k[b+12>>2]=n;k[c>>2]=n;k[x+(o+8)>>2]=b;k[x+(o+12)>>2]=Q;k[x+(o+24)>>2]=0;break}else Tb()}else{w=(k[12269]|0)+m|0;k[12269]=w;k[12272]=n;k[x+(o+4)>>2]=w|1}while(0);w=x+(p|8)|0;return w|0}g=49512|0;while(1){h=k[g>>2]|0;if(h>>>0<=l>>>0?(f=k[g+4>>2]|0,i=h+f|0,i>>>0>l>>>0):0)break;g=k[g+8>>2]|0}g=h+(f+-39)|0;if(!(g&7))g=0;else g=0-g&7;f=h+(f+-47+g)|0;f=f>>>0<(l+16|0)>>>0?l:f;g=f+8|0;h=x+8|0;if(!(h&7))h=0;else h=0-h&7;w=a+-40-h|0;k[12272]=x+h;k[12269]=w;k[x+(h+4)>>2]=w|1;k[x+(a+-36)>>2]=40;k[12273]=k[12388];k[f+4>>2]=27;k[g+0>>2]=k[12378];k[g+4>>2]=k[12379];k[g+8>>2]=k[12380];k[g+12>>2]=k[12381];k[12378]=x;k[12379]=a;k[12381]=0;k[12380]=g;h=f+28|0;k[h>>2]=7;if((f+32|0)>>>0<i>>>0)do{w=h;h=h+4|0;k[h>>2]=7}while((w+8|0)>>>0<i>>>0);if((f|0)!=(l|0)){i=f-l|0;h=l+(i+4)|0;k[h>>2]=k[h>>2]&-2;k[l+4>>2]=i|1;k[l+i>>2]=i;h=i>>>3;if(i>>>0<256){g=h<<1;e=49104+(g<<2)|0;f=k[12266]|0;h=1<<h;do if(!(f&h)){k[12266]=f|h;K=49104+(g+2<<2)|0;L=e}else{c=49104+(g+2<<2)|0;b=k[c>>2]|0;if(b>>>0>=(k[12270]|0)>>>0){K=c;L=b;break}Tb()}while(0);k[K>>2]=l;k[L+12>>2]=l;k[l+8>>2]=L;k[l+12>>2]=e;break}c=i>>>8;if(c)if(i>>>0>16777215)h=31;else{v=(c+1048320|0)>>>16&8;w=c<<v;u=(w+520192|0)>>>16&4;w=w<<u;h=(w+245760|0)>>>16&2;h=14-(u|v|h)+(w<<h>>>15)|0;h=i>>>(h+7|0)&1|h<<1}else h=0;c=49368+(h<<2)|0;k[l+28>>2]=h;k[l+20>>2]=0;k[l+16>>2]=0;b=k[12267]|0;d=1<<h;if(!(b&d)){k[12267]=b|d;k[c>>2]=l;k[l+24>>2]=c;k[l+12>>2]=l;k[l+8>>2]=l;break}c=k[c>>2]|0;if((h|0)==31)b=0;else b=25-(h>>>1)|0;k:do if((k[c+4>>2]&-8|0)!=(i|0)){h=i<<b;while(1){b=c+(h>>>31<<2)+16|0;d=k[b>>2]|0;if(!d)break;if((k[d+4>>2]&-8|0)==(i|0)){M=d;break k}else{h=h<<1;c=d}}if(b>>>0<(k[12270]|0)>>>0)Tb();else{k[b>>2]=l;k[l+24>>2]=c;k[l+12>>2]=l;k[l+8>>2]=l;break g}}else M=c;while(0);c=M+8|0;b=k[c>>2]|0;w=k[12270]|0;if(M>>>0>=w>>>0&b>>>0>=w>>>0){k[b+12>>2]=l;k[c>>2]=l;k[l+8>>2]=b;k[l+12>>2]=M;k[l+24>>2]=0;break}else Tb()}}else{w=k[12270]|0;if((w|0)==0|x>>>0<w>>>0)k[12270]=x;k[12378]=x;k[12379]=a;k[12381]=0;k[12275]=k[12384];k[12274]=-1;c=0;do{w=c<<1;v=49104+(w<<2)|0;k[49104+(w+3<<2)>>2]=v;k[49104+(w+2<<2)>>2]=v;c=c+1|0}while((c|0)!=32);c=x+8|0;if(!(c&7))c=0;else c=0-c&7;w=a+-40-c|0;k[12272]=x+c;k[12269]=w;k[x+(c+4)>>2]=w|1;k[x+(a+-36)>>2]=40;k[12273]=k[12388]}while(0);b=k[12269]|0;if(b>>>0>r>>>0){v=b-r|0;k[12269]=v;w=k[12272]|0;k[12272]=w+r;k[w+(r+4)>>2]=v|1;k[w+4>>2]=r|3;w=w+8|0;return w|0}}w=Mb()|0;k[w>>2]=12;w=0;return w|0}function aw(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;if(!a)return;f=a+-8|0;g=k[12270]|0;if(f>>>0<g>>>0)Tb();e=k[a+-4>>2]|0;d=e&3;if((d|0)==1)Tb();o=e&-8;q=a+(o+-8)|0;do if(!(e&1)){f=k[f>>2]|0;if(!d)return;h=-8-f|0;l=a+h|0;m=f+o|0;if(l>>>0<g>>>0)Tb();if((l|0)==(k[12271]|0)){f=a+(o+-4)|0;e=k[f>>2]|0;if((e&3|0)!=3){u=l;j=m;break}k[12268]=m;k[f>>2]=e&-2;k[a+(h+4)>>2]=m|1;k[q>>2]=m;return}c=f>>>3;if(f>>>0<256){d=k[a+(h+8)>>2]|0;e=k[a+(h+12)>>2]|0;f=49104+(c<<1<<2)|0;if((d|0)!=(f|0)){if(d>>>0<g>>>0)Tb();if((k[d+12>>2]|0)!=(l|0))Tb()}if((e|0)==(d|0)){k[12266]=k[12266]&~(1<<c);u=l;j=m;break}if((e|0)!=(f|0)){if(e>>>0<g>>>0)Tb();f=e+8|0;if((k[f>>2]|0)==(l|0))b=f;else Tb()}else b=e+8|0;k[d+12>>2]=e;k[b>>2]=d;u=l;j=m;break}b=k[a+(h+24)>>2]|0;d=k[a+(h+12)>>2]|0;do if((d|0)==(l|0)){e=a+(h+20)|0;f=k[e>>2]|0;if(!f){e=a+(h+16)|0;f=k[e>>2]|0;if(!f){i=0;break}}while(1){d=f+20|0;c=k[d>>2]|0;if(c){f=c;e=d;continue}d=f+16|0;c=k[d>>2]|0;if(!c)break;else{f=c;e=d}}if(e>>>0<g>>>0)Tb();else{k[e>>2]=0;i=f;break}}else{c=k[a+(h+8)>>2]|0;if(c>>>0<g>>>0)Tb();f=c+12|0;if((k[f>>2]|0)!=(l|0))Tb();e=d+8|0;if((k[e>>2]|0)==(l|0)){k[f>>2]=d;k[e>>2]=c;i=d;break}else Tb()}while(0);if(b){f=k[a+(h+28)>>2]|0;e=49368+(f<<2)|0;if((l|0)==(k[e>>2]|0)){k[e>>2]=i;if(!i){k[12267]=k[12267]&~(1<<f);u=l;j=m;break}}else{if(b>>>0<(k[12270]|0)>>>0)Tb();f=b+16|0;if((k[f>>2]|0)==(l|0))k[f>>2]=i;else k[b+20>>2]=i;if(!i){u=l;j=m;break}}e=k[12270]|0;if(i>>>0<e>>>0)Tb();k[i+24>>2]=b;f=k[a+(h+16)>>2]|0;do if(f)if(f>>>0<e>>>0)Tb();else{k[i+16>>2]=f;k[f+24>>2]=i;break}while(0);f=k[a+(h+20)>>2]|0;if(f)if(f>>>0<(k[12270]|0)>>>0)Tb();else{k[i+20>>2]=f;k[f+24>>2]=i;u=l;j=m;break}else{u=l;j=m}}else{u=l;j=m}}else{u=f;j=o}while(0);if(u>>>0>=q>>>0)Tb();f=a+(o+-4)|0;e=k[f>>2]|0;if(!(e&1))Tb();if(!(e&2)){if((q|0)==(k[12272]|0)){l=(k[12269]|0)+j|0;k[12269]=l;k[12272]=u;k[u+4>>2]=l|1;if((u|0)!=(k[12271]|0))return;k[12271]=0;k[12268]=0;return}if((q|0)==(k[12271]|0)){l=(k[12268]|0)+j|0;k[12268]=l;k[12271]=u;k[u+4>>2]=l|1;k[u+l>>2]=l;return}g=(e&-8)+j|0;b=e>>>3;do if(e>>>0>=256){b=k[a+(o+16)>>2]|0;f=k[a+(o|4)>>2]|0;do if((f|0)==(q|0)){e=a+(o+12)|0;f=k[e>>2]|0;if(!f){e=a+(o+8)|0;f=k[e>>2]|0;if(!f){p=0;break}}while(1){d=f+20|0;c=k[d>>2]|0;if(c){f=c;e=d;continue}d=f+16|0;c=k[d>>2]|0;if(!c)break;else{f=c;e=d}}if(e>>>0<(k[12270]|0)>>>0)Tb();else{k[e>>2]=0;p=f;break}}else{e=k[a+o>>2]|0;if(e>>>0<(k[12270]|0)>>>0)Tb();d=e+12|0;if((k[d>>2]|0)!=(q|0))Tb();c=f+8|0;if((k[c>>2]|0)==(q|0)){k[d>>2]=f;k[c>>2]=e;p=f;break}else Tb()}while(0);if(b){f=k[a+(o+20)>>2]|0;e=49368+(f<<2)|0;if((q|0)==(k[e>>2]|0)){k[e>>2]=p;if(!p){k[12267]=k[12267]&~(1<<f);break}}else{if(b>>>0<(k[12270]|0)>>>0)Tb();f=b+16|0;if((k[f>>2]|0)==(q|0))k[f>>2]=p;else k[b+20>>2]=p;if(!p)break}f=k[12270]|0;if(p>>>0<f>>>0)Tb();k[p+24>>2]=b;e=k[a+(o+8)>>2]|0;do if(e)if(e>>>0<f>>>0)Tb();else{k[p+16>>2]=e;k[e+24>>2]=p;break}while(0);c=k[a+(o+12)>>2]|0;if(c)if(c>>>0<(k[12270]|0)>>>0)Tb();else{k[p+20>>2]=c;k[c+24>>2]=p;break}}}else{c=k[a+o>>2]|0;d=k[a+(o|4)>>2]|0;f=49104+(b<<1<<2)|0;if((c|0)!=(f|0)){if(c>>>0<(k[12270]|0)>>>0)Tb();if((k[c+12>>2]|0)!=(q|0))Tb()}if((d|0)==(c|0)){k[12266]=k[12266]&~(1<<b);break}if((d|0)!=(f|0)){if(d>>>0<(k[12270]|0)>>>0)Tb();e=d+8|0;if((k[e>>2]|0)==(q|0))n=e;else Tb()}else n=d+8|0;k[c+12>>2]=d;k[n>>2]=c}while(0);k[u+4>>2]=g|1;k[u+g>>2]=g;if((u|0)==(k[12271]|0)){k[12268]=g;return}else f=g}else{k[f>>2]=e&-2;k[u+4>>2]=j|1;k[u+j>>2]=j;f=j}e=f>>>3;if(f>>>0<256){d=e<<1;f=49104+(d<<2)|0;b=k[12266]|0;c=1<<e;if(b&c){c=49104+(d+2<<2)|0;b=k[c>>2]|0;if(b>>>0<(k[12270]|0)>>>0)Tb();else{r=c;s=b}}else{k[12266]=b|c;r=49104+(d+2<<2)|0;s=f}k[r>>2]=u;k[s+12>>2]=u;k[u+8>>2]=s;k[u+12>>2]=f;return}b=f>>>8;if(b)if(f>>>0>16777215)e=31;else{j=(b+1048320|0)>>>16&8;l=b<<j;i=(l+520192|0)>>>16&4;l=l<<i;e=(l+245760|0)>>>16&2;e=14-(i|j|e)+(l<<e>>>15)|0;e=f>>>(e+7|0)&1|e<<1}else e=0;c=49368+(e<<2)|0;k[u+28>>2]=e;k[u+20>>2]=0;k[u+16>>2]=0;b=k[12267]|0;d=1<<e;a:do if(b&d){c=k[c>>2]|0;if((e|0)==31)b=0;else b=25-(e>>>1)|0;b:do if((k[c+4>>2]&-8|0)!=(f|0)){e=f<<b;while(1){b=c+(e>>>31<<2)+16|0;d=k[b>>2]|0;if(!d)break;if((k[d+4>>2]&-8|0)==(f|0)){t=d;break b}else{e=e<<1;c=d}}if(b>>>0<(k[12270]|0)>>>0)Tb();else{k[b>>2]=u;k[u+24>>2]=c;k[u+12>>2]=u;k[u+8>>2]=u;break a}}else t=c;while(0);b=t+8|0;c=k[b>>2]|0;l=k[12270]|0;if(t>>>0>=l>>>0&c>>>0>=l>>>0){k[c+12>>2]=u;k[b>>2]=u;k[u+8>>2]=c;k[u+12>>2]=t;k[u+24>>2]=0;break}else Tb()}else{k[12267]=b|d;k[c>>2]=u;k[u+24>>2]=c;k[u+12>>2]=u;k[u+8>>2]=u}while(0);l=(k[12274]|0)+-1|0;k[12274]=l;if(!l)b=49520|0;else return;while(1){b=k[b>>2]|0;if(!b)break;else b=b+8|0}k[12274]=-1;return}function bw(a,b){a=a|0;b=b|0;var c=0,d=0;if(!a){c=$v(b)|0;return c|0}if(b>>>0>4294967231){c=Mb()|0;k[c>>2]=12;c=0;return c|0}if(b>>>0<11)c=16;else c=b+11&-8;c=fw(a+-8|0,c)|0;if(c){c=c+8|0;return c|0}c=$v(b)|0;if(!c){c=0;return c|0}d=k[a+-4>>2]|0;d=(d&-8)-((d&3|0)==0?8:4)|0;pw(c|0,a|0,(d>>>0<b>>>0?d:b)|0)|0;aw(a);return c|0}function cw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;if(!c){a=0;return a|0}else{e=c;d=a}while(1){c=i[d>>0]|0;a=i[b>>0]|0;if(c<<24>>24!=a<<24>>24)break;e=e+-1|0;if(!e){a=0;f=5;break}else{d=d+1|0;b=b+1|0}}if((f|0)==5)return a|0;a=(c&255)-(a&255)|0;return a|0}function dw(a,b){a=a|0;b=b|0;var c=0,d=0;d=i[a>>0]|0;c=i[b>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=c<<24>>24)b=d;else{do{a=a+1|0;b=b+1|0;d=i[a>>0]|0;c=i[b>>0]|0}while(!(d<<24>>24==0?1:d<<24>>24!=c<<24>>24));b=d}return (b&255)-(c&255)|0}function ew(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;if(!c){b=0;return b|0}d=i[a>>0]|0;a:do if(!(d<<24>>24))d=0;else while(1){c=c+-1|0;e=i[b>>0]|0;if(!(e<<24>>24!=0&(c|0)!=0&d<<24>>24==e<<24>>24))break a;a=a+1|0;b=b+1|0;d=i[a>>0]|0;if(!(d<<24>>24)){d=0;break}}while(0);b=(d&255)-(l[b>>0]|0)|0;return b|0}function fw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;o=a+4|0;p=k[o>>2]|0;i=p&-8;l=a+i|0;h=k[12270]|0;d=p&3;if(!((d|0)!=1&a>>>0>=h>>>0&a>>>0<l>>>0))Tb();c=a+(i|4)|0;f=k[c>>2]|0;if(!(f&1))Tb();if(!d){if(b>>>0<256){m=0;return m|0}if(i>>>0>=(b+4|0)>>>0?(i-b|0)>>>0<=k[12386]<<1>>>0:0){m=a;return m|0}m=0;return m|0}if(i>>>0>=b>>>0){d=i-b|0;if(d>>>0<=15){m=a;return m|0}k[o>>2]=p&1|b|2;k[a+(b+4)>>2]=d|3;k[c>>2]=k[c>>2]|1;gw(a+b|0,d);m=a;return m|0}if((l|0)==(k[12272]|0)){d=(k[12269]|0)+i|0;if(d>>>0<=b>>>0){m=0;return m|0}m=d-b|0;k[o>>2]=p&1|b|2;k[a+(b+4)>>2]=m|1;k[12272]=a+b;k[12269]=m;m=a;return m|0}if((l|0)==(k[12271]|0)){d=(k[12268]|0)+i|0;if(d>>>0<b>>>0){m=0;return m|0}c=d-b|0;if(c>>>0>15){k[o>>2]=p&1|b|2;k[a+(b+4)>>2]=c|1;k[a+d>>2]=c;d=a+(d+4)|0;k[d>>2]=k[d>>2]&-2;d=a+b|0}else{k[o>>2]=p&1|d|2;d=a+(d+4)|0;k[d>>2]=k[d>>2]|1;d=0;c=0}k[12268]=c;k[12271]=d;m=a;return m|0}if(f&2){m=0;return m|0}m=(f&-8)+i|0;if(m>>>0<b>>>0){m=0;return m|0}n=m-b|0;e=f>>>3;do if(f>>>0>=256){g=k[a+(i+24)>>2]|0;f=k[a+(i+12)>>2]|0;do if((f|0)==(l|0)){c=a+(i+20)|0;d=k[c>>2]|0;if(!d){c=a+(i+16)|0;d=k[c>>2]|0;if(!d){j=0;break}}while(1){e=d+20|0;f=k[e>>2]|0;if(f){d=f;c=e;continue}f=d+16|0;e=k[f>>2]|0;if(!e)break;else{d=e;c=f}}if(c>>>0<h>>>0)Tb();else{k[c>>2]=0;j=d;break}}else{e=k[a+(i+8)>>2]|0;if(e>>>0<h>>>0)Tb();d=e+12|0;if((k[d>>2]|0)!=(l|0))Tb();c=f+8|0;if((k[c>>2]|0)==(l|0)){k[d>>2]=f;k[c>>2]=e;j=f;break}else Tb()}while(0);if(g){d=k[a+(i+28)>>2]|0;c=49368+(d<<2)|0;if((l|0)==(k[c>>2]|0)){k[c>>2]=j;if(!j){k[12267]=k[12267]&~(1<<d);break}}else{if(g>>>0<(k[12270]|0)>>>0)Tb();d=g+16|0;if((k[d>>2]|0)==(l|0))k[d>>2]=j;else k[g+20>>2]=j;if(!j)break}c=k[12270]|0;if(j>>>0<c>>>0)Tb();k[j+24>>2]=g;d=k[a+(i+16)>>2]|0;do if(d)if(d>>>0<c>>>0)Tb();else{k[j+16>>2]=d;k[d+24>>2]=j;break}while(0);d=k[a+(i+20)>>2]|0;if(d)if(d>>>0<(k[12270]|0)>>>0)Tb();else{k[j+20>>2]=d;k[d+24>>2]=j;break}}}else{f=k[a+(i+8)>>2]|0;c=k[a+(i+12)>>2]|0;d=49104+(e<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0<h>>>0)Tb();if((k[f+12>>2]|0)!=(l|0))Tb()}if((c|0)==(f|0)){k[12266]=k[12266]&~(1<<e);break}if((c|0)!=(d|0)){if(c>>>0<h>>>0)Tb();d=c+8|0;if((k[d>>2]|0)==(l|0))g=d;else Tb()}else g=c+8|0;k[f+12>>2]=c;k[g>>2]=f}while(0);if(n>>>0<16){k[o>>2]=m|p&1|2;m=a+(m|4)|0;k[m>>2]=k[m>>2]|1;m=a;return m|0}else{k[o>>2]=p&1|b|2;k[a+(b+4)>>2]=n|3;m=a+(m|4)|0;k[m>>2]=k[m>>2]|1;gw(a+b|0,n);m=a;return m|0}return 0}function gw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=a+b|0;g=k[a+4>>2]|0;do if(!(g&1)){i=k[a>>2]|0;if(!(g&3))return;n=a+(0-i)|0;m=i+b|0;h=k[12270]|0;if(n>>>0<h>>>0)Tb();if((n|0)==(k[12271]|0)){f=a+(b+4)|0;g=k[f>>2]|0;if((g&3|0)!=3){t=n;l=m;break}k[12268]=m;k[f>>2]=g&-2;k[a+(4-i)>>2]=m|1;k[q>>2]=m;return}d=i>>>3;if(i>>>0<256){e=k[a+(8-i)>>2]|0;f=k[a+(12-i)>>2]|0;g=49104+(d<<1<<2)|0;if((e|0)!=(g|0)){if(e>>>0<h>>>0)Tb();if((k[e+12>>2]|0)!=(n|0))Tb()}if((f|0)==(e|0)){k[12266]=k[12266]&~(1<<d);t=n;l=m;break}if((f|0)!=(g|0)){if(f>>>0<h>>>0)Tb();g=f+8|0;if((k[g>>2]|0)==(n|0))c=g;else Tb()}else c=f+8|0;k[e+12>>2]=f;k[c>>2]=e;t=n;l=m;break}c=k[a+(24-i)>>2]|0;e=k[a+(12-i)>>2]|0;do if((e|0)==(n|0)){e=16-i|0;f=a+(e+4)|0;g=k[f>>2]|0;if(!g){f=a+e|0;g=k[f>>2]|0;if(!g){j=0;break}}while(1){e=g+20|0;d=k[e>>2]|0;if(d){g=d;f=e;continue}e=g+16|0;d=k[e>>2]|0;if(!d)break;else{g=d;f=e}}if(f>>>0<h>>>0)Tb();else{k[f>>2]=0;j=g;break}}else{d=k[a+(8-i)>>2]|0;if(d>>>0<h>>>0)Tb();g=d+12|0;if((k[g>>2]|0)!=(n|0))Tb();f=e+8|0;if((k[f>>2]|0)==(n|0)){k[g>>2]=e;k[f>>2]=d;j=e;break}else Tb()}while(0);if(c){g=k[a+(28-i)>>2]|0;f=49368+(g<<2)|0;if((n|0)==(k[f>>2]|0)){k[f>>2]=j;if(!j){k[12267]=k[12267]&~(1<<g);t=n;l=m;break}}else{if(c>>>0<(k[12270]|0)>>>0)Tb();g=c+16|0;if((k[g>>2]|0)==(n|0))k[g>>2]=j;else k[c+20>>2]=j;if(!j){t=n;l=m;break}}e=k[12270]|0;if(j>>>0<e>>>0)Tb();k[j+24>>2]=c;g=16-i|0;f=k[a+g>>2]|0;do if(f)if(f>>>0<e>>>0)Tb();else{k[j+16>>2]=f;k[f+24>>2]=j;break}while(0);g=k[a+(g+4)>>2]|0;if(g)if(g>>>0<(k[12270]|0)>>>0)Tb();else{k[j+20>>2]=g;k[g+24>>2]=j;t=n;l=m;break}else{t=n;l=m}}else{t=n;l=m}}else{t=a;l=b}while(0);h=k[12270]|0;if(q>>>0<h>>>0)Tb();g=a+(b+4)|0;f=k[g>>2]|0;if(!(f&2)){if((q|0)==(k[12272]|0)){m=(k[12269]|0)+l|0;k[12269]=m;k[12272]=t;k[t+4>>2]=m|1;if((t|0)!=(k[12271]|0))return;k[12271]=0;k[12268]=0;return}if((q|0)==(k[12271]|0)){m=(k[12268]|0)+l|0;k[12268]=m;k[12271]=t;k[t+4>>2]=m|1;k[t+m>>2]=m;return}i=(f&-8)+l|0;c=f>>>3;do if(f>>>0>=256){c=k[a+(b+24)>>2]|0;e=k[a+(b+12)>>2]|0;do if((e|0)==(q|0)){f=a+(b+20)|0;g=k[f>>2]|0;if(!g){f=a+(b+16)|0;g=k[f>>2]|0;if(!g){p=0;break}}while(1){e=g+20|0;d=k[e>>2]|0;if(d){g=d;f=e;continue}e=g+16|0;d=k[e>>2]|0;if(!d)break;else{g=d;f=e}}if(f>>>0<h>>>0)Tb();else{k[f>>2]=0;p=g;break}}else{d=k[a+(b+8)>>2]|0;if(d>>>0<h>>>0)Tb();g=d+12|0;if((k[g>>2]|0)!=(q|0))Tb();f=e+8|0;if((k[f>>2]|0)==(q|0)){k[g>>2]=e;k[f>>2]=d;p=e;break}else Tb()}while(0);if(c){g=k[a+(b+28)>>2]|0;f=49368+(g<<2)|0;if((q|0)==(k[f>>2]|0)){k[f>>2]=p;if(!p){k[12267]=k[12267]&~(1<<g);break}}else{if(c>>>0<(k[12270]|0)>>>0)Tb();f=c+16|0;if((k[f>>2]|0)==(q|0))k[f>>2]=p;else k[c+20>>2]=p;if(!p)break}e=k[12270]|0;if(p>>>0<e>>>0)Tb();k[p+24>>2]=c;f=k[a+(b+16)>>2]|0;do if(f)if(f>>>0<e>>>0)Tb();else{k[p+16>>2]=f;k[f+24>>2]=p;break}while(0);e=k[a+(b+20)>>2]|0;if(e)if(e>>>0<(k[12270]|0)>>>0)Tb();else{k[p+20>>2]=e;k[e+24>>2]=p;break}}}else{d=k[a+(b+8)>>2]|0;e=k[a+(b+12)>>2]|0;g=49104+(c<<1<<2)|0;if((d|0)!=(g|0)){if(d>>>0<h>>>0)Tb();if((k[d+12>>2]|0)!=(q|0))Tb()}if((e|0)==(d|0)){k[12266]=k[12266]&~(1<<c);break}if((e|0)!=(g|0)){if(e>>>0<h>>>0)Tb();f=e+8|0;if((k[f>>2]|0)==(q|0))o=f;else Tb()}else o=e+8|0;k[d+12>>2]=e;k[o>>2]=d}while(0);k[t+4>>2]=i|1;k[t+i>>2]=i;if((t|0)==(k[12271]|0)){k[12268]=i;return}else g=i}else{k[g>>2]=f&-2;k[t+4>>2]=l|1;k[t+l>>2]=l;g=l}f=g>>>3;if(g>>>0<256){d=f<<1;g=49104+(d<<2)|0;c=k[12266]|0;e=1<<f;if(c&e){e=49104+(d+2<<2)|0;d=k[e>>2]|0;if(d>>>0<(k[12270]|0)>>>0)Tb();else{r=e;s=d}}else{k[12266]=c|e;r=49104+(d+2<<2)|0;s=g}k[r>>2]=t;k[s+12>>2]=t;k[t+8>>2]=s;k[t+12>>2]=g;return}c=g>>>8;if(c)if(g>>>0>16777215)f=31;else{l=(c+1048320|0)>>>16&8;m=c<<l;j=(m+520192|0)>>>16&4;m=m<<j;f=(m+245760|0)>>>16&2;f=14-(j|l|f)+(m<<f>>>15)|0;f=g>>>(f+7|0)&1|f<<1}else f=0;e=49368+(f<<2)|0;k[t+28>>2]=f;k[t+20>>2]=0;k[t+16>>2]=0;d=k[12267]|0;c=1<<f;if(!(d&c)){k[12267]=d|c;k[e>>2]=t;k[t+24>>2]=e;k[t+12>>2]=t;k[t+8>>2]=t;return}c=k[e>>2]|0;if((f|0)==31)d=0;else d=25-(f>>>1)|0;a:do if((k[c+4>>2]&-8|0)!=(g|0)){f=g<<d;while(1){d=c+(f>>>31<<2)+16|0;e=k[d>>2]|0;if(!e)break;if((k[e+4>>2]&-8|0)==(g|0)){c=e;break a}else{f=f<<1;c=e}}if(d>>>0<(k[12270]|0)>>>0)Tb();k[d>>2]=t;k[t+24>>2]=c;k[t+12>>2]=t;k[t+8>>2]=t;return}while(0);d=c+8|0;e=k[d>>2]|0;m=k[12270]|0;if(!(c>>>0>=m>>>0&e>>>0>=m>>>0))Tb();k[e+12>>2]=t;k[d>>2]=t;k[t+8>>2]=e;k[t+12>>2]=c;k[t+24>>2]=0;return}function hw(){}function iw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;b=b-d-(c>>>0>a>>>0|0)>>>0;return (L=b,a-c>>>0|0)|0}function jw(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){L=b>>c;return a>>>c|(b&(1<<c)-1)<<32-c}L=(b|0)<0?-1:0;return b>>c-32|0}function kw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=a+c|0;if((c|0)>=20){b=b&255;f=a&3;g=b|b<<8|b<<16|b<<24;e=d&~3;if(f){f=a+4-f|0;while((a|0)<(f|0)){i[a>>0]=b;a=a+1|0}}while((a|0)<(e|0)){k[a>>2]=g;a=a+4|0}}while((a|0)<(d|0)){i[a>>0]=b;a=a+1|0}return a-c|0}function lw(a){a=a|0;var b=0;b=a;while(i[b>>0]|0)b=b+1|0;return b-a|0}function mw(a,b){a=a|0;b=b|0;var c=0,d=0;d=a+(lw(a)|0)|0;do{i[d+c>>0]=i[b+c>>0];c=c+1|0}while(i[b+(c-1)>>0]|0);return a|0}function nw(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){L=b<<c|(a&(1<<c)-1<<32-c)>>>32-c;return a<<c}L=a<<c-32;return 0}function ow(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (L=b+d+(c>>>0<a>>>0|0)>>>0,c|0)|0}function pw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if((c|0)>=4096)return zb(a|0,b|0,c|0)|0;d=a|0;if((a&3)==(b&3)){while(a&3){if(!c)return d|0;i[a>>0]=i[b>>0]|0;a=a+1|0;b=b+1|0;c=c-1|0}while((c|0)>=4){k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0;c=c-4|0}}while((c|0)>0){i[a>>0]=i[b>>0]|0;a=a+1|0;b=b+1|0;c=c-1|0}return d|0}function qw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if((b|0)<(a|0)&(a|0)<(b+c|0)){d=a;b=b+c|0;a=a+c|0;while((c|0)>0){a=a-1|0;b=b-1|0;c=c-1|0;i[a>>0]=i[b>>0]|0}a=d}else pw(a,b,c)|0;return a|0}function rw(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){L=b>>>c;return a>>>c|(b&(1<<c)-1)<<32-c}L=0;return b>>>c-32|0}function sw(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function tw(a){a=a|0;var b=0;b=i[v+(a&255)>>0]|0;if((b|0)<8)return b|0;b=i[v+(a>>8&255)>>0]|0;if((b|0)<8)return b+8|0;b=i[v+(a>>16&255)>>0]|0;if((b|0)<8)return b+16|0;return (i[v+(a>>>24)>>0]|0)+24|0}function uw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;d=b&65535;c=ha(d,f)|0;e=a>>>16;d=(c>>>16)+(ha(d,e)|0)|0;b=b>>>16;a=ha(b,f)|0;return (L=(d>>>16)+(ha(b,e)|0)+(((d&65535)+a|0)>>>16)|0,d+a<<16|c&65535|0)|0}function vw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=b>>31|((b|0)<0?-1:0)<<1;i=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;f=d>>31|((d|0)<0?-1:0)<<1;e=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;h=iw(j^a,i^b,j,i)|0;g=L;b=f^j;a=e^i;a=iw((Aw(h,g,iw(f^c,e^d,f,e)|0,L,0)|0)^b,L^a,b,a)|0;return a|0}function ww(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=r;r=r+8|0;h=e|0;g=b>>31|((b|0)<0?-1:0)<<1;f=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;j=d>>31|((d|0)<0?-1:0)<<1;i=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;b=iw(g^a,f^b,g,f)|0;a=L;Aw(b,a,iw(j^c,i^d,j,i)|0,L,h)|0;a=iw(k[h>>2]^g,k[h+4>>2]^f,g,f)|0;b=L;r=e;return (L=b,a)|0}function xw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;a=uw(e,f)|0;c=L;return (L=(ha(b,f)|0)+(ha(d,e)|0)+c|c&0,a|0|0)|0}function yw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=Aw(a,b,c,d,0)|0;return a|0}function zw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;f=r;r=r+8|0;e=f|0;Aw(a,b,c,d,e)|0;r=f;return (L=k[e+4>>2]|0,k[e>>2]|0)|0}function Aw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;n=a;l=b;m=l;j=c;o=d;h=o;if(!m){f=(e|0)!=0;if(!h){if(f){k[e>>2]=(n>>>0)%(j>>>0);k[e+4>>2]=0}l=0;m=(n>>>0)/(j>>>0)>>>0;return (L=l,m)|0}else{if(!f){l=0;m=0;return (L=l,m)|0}k[e>>2]=a|0;k[e+4>>2]=b&0;l=0;m=0;return (L=l,m)|0}}i=(h|0)==0;do if(j){if(!i){g=(ja(h|0)|0)-(ja(m|0)|0)|0;if(g>>>0<=31){f=g+1|0;l=31-g|0;j=g-31>>31;h=f;i=n>>>(f>>>0)&j|m<<l;j=m>>>(f>>>0)&j;f=0;g=n<<l;break}if(!e){l=0;m=0;return (L=l,m)|0}k[e>>2]=a|0;k[e+4>>2]=l|b&0;l=0;m=0;return (L=l,m)|0}i=j-1|0;if(i&j){g=(ja(j|0)|0)+33-(ja(m|0)|0)|0;p=64-g|0;l=32-g|0;a=l>>31;b=g-32|0;j=b>>31;h=g;i=l-1>>31&m>>>(b>>>0)|(m<<l|n>>>(g>>>0))&j;j=j&m>>>(g>>>0);f=n<<p&a;g=(m<<p|n>>>(b>>>0))&a|n<<l&g-33>>31;break}if(e){k[e>>2]=i&n;k[e+4>>2]=0}if((j|0)==1){l=l|b&0;m=a|0|0;return (L=l,m)|0}else{a=tw(j|0)|0;l=m>>>(a>>>0)|0;m=m<<32-a|n>>>(a>>>0)|0;return (L=l,m)|0}}else{if(i){if(e){k[e>>2]=(m>>>0)%(j>>>0);k[e+4>>2]=0}l=0;m=(m>>>0)/(j>>>0)>>>0;return (L=l,m)|0}if(!n){if(e){k[e>>2]=0;k[e+4>>2]=(m>>>0)%(h>>>0)}l=0;m=(m>>>0)/(h>>>0)>>>0;return (L=l,m)|0}i=h-1|0;if(!(i&h)){if(e){k[e>>2]=a|0;k[e+4>>2]=i&m|b&0}l=0;m=m>>>((tw(h|0)|0)>>>0);return (L=l,m)|0}g=(ja(h|0)|0)-(ja(m|0)|0)|0;if(g>>>0<=30){j=g+1|0;g=31-g|0;h=j;i=m<<g|n>>>(j>>>0);j=m>>>(j>>>0);f=0;g=n<<g;break}if(!e){l=0;m=0;return (L=l,m)|0}k[e>>2]=a|0;k[e+4>>2]=l|b&0;l=0;m=0;return (L=l,m)|0}while(0);if(!h){l=g;h=0;g=0}else{m=c|0|0;l=o|d&0;b=ow(m,l,-1,-1)|0;a=L;c=g;g=0;do{p=c;c=f>>>31|c<<1;f=g|f<<1;p=i<<1|p>>>31|0;o=i>>>31|j<<1|0;iw(b,a,p,o)|0;n=L;d=n>>31|((n|0)<0?-1:0)<<1;g=d&1;i=iw(p,o,d&m,(((n|0)<0?-1:0)>>31|((n|0)<0?-1:0)<<1)&l)|0;j=L;h=h-1|0}while((h|0)!=0);l=c;h=0}c=0;if(e){k[e>>2]=i;k[e+4>>2]=j}l=(f|0)>>>31|(l|c)<<1|(c<<1|f>>>31)&0|h;m=(f<<1|0>>>31)&-2|g;return (L=l,m)|0}function Bw(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return ec[a&1](b|0,c|0,d|0,e|0,f|0,g|0,h|0)|0}function Cw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return fc[a&63](b|0,c|0,d|0)|0}function Dw(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;gc[a&1](b|0,c|0,d|0,e|0,f|0,g|0)}function Ew(a,b){a=a|0;b=b|0;hc[a&31](b|0)}function Fw(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ic[a&1](b|0,c|0,d|0,e|0,f|0)}function Gw(a,b,c){a=a|0;b=b|0;c=c|0;return +jc[a&1](b|0,c|0)}function Hw(a,b,c){a=a|0;b=b|0;c=+c;kc[a&1](b|0,+c)}function Iw(a,b){a=a|0;b=b|0;return +lc[a&1](b|0)}function Jw(a){a=a|0;return mc[a&7]()|0}function Kw(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return nc[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)|0}function Lw(a,b,c){a=a|0;b=b|0;c=c|0;oc[a&15](b|0,c|0)}function Mw(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return pc[a&7](b|0,c|0,d|0,e|0,f|0,g|0)|0}function Nw(a,b){a=a|0;b=b|0;return qc[a&127](b|0)|0}function Ow(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;rc[a&63](b|0,c|0,d|0)}function Pw(a){a=a|0;sc[a&3]()}function Qw(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return tc[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)|0}function Rw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return uc[a&31](b|0,c|0,d|0,e|0)|0}function Sw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;vc[a&15](b|0,c|0,d|0,e|0)}function Tw(a,b,c){a=a|0;b=b|0;c=c|0;return wc[a&127](b|0,c|0)|0}function Uw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;return xc[a&1](b|0,c|0,+d)|0}function Vw(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return yc[a&31](b|0,c|0,d|0,e|0,f|0)|0}function Ww(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;ma(0);return 0}function Xw(a,b,c){a=a|0;b=b|0;c=c|0;na(1);return 0}function Yw(a,b,c){a=a|0;b=b|0;c=c|0;return yb(a|0,b|0,c|0)|0}function Zw(a,b,c){a=a|0;b=b|0;c=c|0;return bc(a|0,b|0,c|0)|0}function _w(a,b,c){a=a|0;b=b|0;c=c|0;return Kb(a|0,b|0,c|0)|0}function $w(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;oa(2)}function ax(a){a=a|0;pa(3)}function bx(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;qa(4)}function cx(a,b){a=a|0;b=b|0;ra(5);return 0.0}function dx(a,b){a=a|0;b=+b;sa(6)}function ex(a){a=a|0;ta(7);return 0.0}function fx(){ua(8);return 0}function gx(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;va(9);return 0}function hx(a,b){a=a|0;b=b|0;wa(10)}function ix(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;xa(11);return 0}function jx(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Zb(a|0,b|0,c|0,d|0,e|0,f|0)|0}function kx(a){a=a|0;ya(12);return 0}function lx(a){a=a|0;return ac(a|0)|0}function mx(a){a=a|0;return Ab(a|0)|0}function nx(a){a=a|0;return mb(a|0)|0}function ox(a,b,c){a=a|0;b=b|0;c=c|0;za(13)}function px(){Aa(14)}function qx(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;Ba(15);return 0}function rx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(16);return 0}function sx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Da(17)}function tx(a,b){a=a|0;b=b|0;Ea(18);return 0}function ux(a,b){a=a|0;b=b|0;return jb(a|0,b|0)|0}function vx(a,b){a=a|0;b=b|0;return $b(a|0,b|0)|0}function wx(a,b){a=a|0;b=b|0;return Nb(a|0,b|0)|0}function xx(a,b){a=a|0;b=b|0;return kb(a|0,b|0)|0}function yx(a,b){a=a|0;b=b|0;return Eb(a|0,b|0)|0}function zx(a,b){a=a|0;b=b|0;return Cb(a|0,b|0)|0}function Ax(a,b){a=a|0;b=b|0;return Fb(a|0,b|0)|0}function Bx(a,b){a=a|0;b=b|0;return Yb(a|0,b|0)|0}function Cx(a,b,c){a=a|0;b=b|0;c=+c;Fa(19);return 0}function Dx(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Ga(20);return 0}
// EMSCRIPTEN_END_FUNCS
var ec=[Ww,ze];var fc=[Xw,qi,vi,xi,Ai,Ci,ve,Be,Af,ag,bg,Kf,Jf,Mf,Te,If,Lf,Hf,Ce,Vf,uf,Le,Kc,Of,Se,kf,kg,bd,Li,Qi,Ti,jk,pk,xk,Yw,Zw,_w,zk,Gp,Hp,Fp,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw];var gc=[$w,Od];var hc=[ax,$c,ef,Df,Md,Wd,Vd,Wc,Pi,Xi,Yi,_i,dj,hj,Kj,Lj,Mj,Oj,Qj,tk,vo,Dp,vl,ax,ax,ax,ax,ax,ax,ax,ax,ax];var ic=[bx,Gd];var jc=[cx,he];var kc=[dx,Hd];var lc=[ex,yd];var mc=[fx,nf,pf,Vc,qf,of,Ak,fx];var nc=[gx,eg,Ff,gx];var oc=[hx,wi,Kd,Sd,Td,Ud,hd,Ri,Wi,wu,xu,hx,hx,hx,hx,hx];var pc=[ix,df,_f,te,jx,ix,ix,ix];var qc=[kx,be,De,wf,yf,ce,lf,mf,de,He,jd,Sf,Xe,Rf,qd,rd,cg,vf,Yc,sd,Xd,xf,Yd,ud,wd,xd,zd,Ad,Me,vd,Bd,Cd,Dd,Ed,td,Re,Oe,Xc,Tc,fg,Pc,Sc,Zd,pd,md,od,nd,Lc,Jc,sf,Tf,jf,zf,tf,Uf,Je,Ie,Ze,_e,_c,Ii,Oi,Si,Zi,aj,bj,cj,gk,qk,rk,lx,mx,nx,Bk,Fk,al,ll,kx,kx,kx,kx,kx,kx,kx,kx,kx,kx,kx,kx,kx,kx,kx,kx,kx,kx,kx,kx,kx,kx,kx,kx,kx,kx,kx,kx,kx,kx,kx,kx,kx,kx,kx,kx,kx,kx,kx,kx,kx,kx,kx,kx,kx,kx,kx,kx,kx,kx,kx];var rc=[ox,ui,Id,Jd,Ld,gd,Ui,ej,fj,gj,ij,jj,kj,lj,mj,nj,oj,pj,qj,rj,sj,tj,uj,vj,wj,xj,yj,zj,Aj,Bj,Cj,Dj,Ej,Fj,Gj,Hj,Ij,Jj,Nj,Pj,Rj,Sj,Tj,Uj,Vj,Wj,Xj,Yj,Zj,_j,$j,ak,bk,ck,dk,ek,fk,Yh,ox,ox,ox,ox,ox,ox];var sc=[px,dg,$e,px];var tc=[qx,Ef,Gf,Ne];var uc=[rx,ri,si,we,ff,fd,Pe,Qe,hg,Xf,Nc,kd,lg,ed,Ye,sk,wk,Ic,Ih,Kh,Oh,Zh,en,iq,rx,rx,rx,rx,rx,rx,rx,rx];var vc=[sx,Bf,Fd,Nd,Pd,Qd,Rd,ae,Vi,ug,sx,sx,sx,sx,sx,sx];var wc=[tx,ti,yi,zi,Bi,Di,Ei,Fi,Gi,Hi,_d,xe,Fe,Ee,Cf,ee,fe,ge,qe,re,ie,je,oe,pe,ke,me,ne,le,hf,$d,dd,Wf,Yf,ad,Ge,cd,Rc,ig,gg,Ke,ld,Uc,Nf,Qf,mg,ng,id,jg,Zc,Ue,Mi,Ni,$i,kk,lk,mk,nk,ok,uk,ux,vx,wx,xx,yx,zx,yk,Ax,Bx,Ck,Dk,Ek,Gk,Hk,Ik,Uh,Cp,Im,Jm,us,vs,ct,dt,lu,mu,tu,uu,vu,uv,Xv,tx,tx,tx,tx,tx,tx,tx,tx,tx,tx,tx,tx,tx,tx,tx,tx,tx,tx,tx,tx,tx,tx,tx,tx,tx,tx,tx,tx,tx,tx,tx,tx,tx,tx,tx,tx,tx,tx,tx];var xc=[Cx,ue];var yc=[Dx,pi,se,ye,Ae,Zf,$f,Ve,af,bf,We,cf,gf,Oc,Pf,Ji,Ki,hk,ik,vk,Jk,Zn,_n,Dx,Dx,Dx,Dx,Dx,Dx,Dx,Dx,Dx];return{_i64Subtract:iw,_strcat:mw,_free:aw,_main:Hc,_realloc:bw,_i64Add:ow,_memmove:qw,_bitshift64Ashr:jw,_strlen:lw,_memset:kw,_malloc:$v,_memcpy:pw,_bitshift64Lshr:rw,_llvm_bswap_i32:sw,_bitshift64Shl:nw,runPostSets:hw,_emscripten_replace_memory:_emscripten_replace_memory,stackAlloc:zc,stackSave:Ac,stackRestore:Bc,setThrew:Cc,setTempRet0:Fc,getTempRet0:Gc,dynCall_iiiiiiii:Bw,dynCall_iiii:Cw,dynCall_viiiiii:Dw,dynCall_vi:Ew,dynCall_viiiii:Fw,dynCall_dii:Gw,dynCall_vid:Hw,dynCall_di:Iw,dynCall_i:Jw,dynCall_iiiiiiiiii:Kw,dynCall_vii:Lw,dynCall_iiiiiii:Mw,dynCall_ii:Nw,dynCall_viii:Ow,dynCall_v:Pw,dynCall_iiiiiiiii:Qw,dynCall_iiiii:Rw,dynCall_viiii:Sw,dynCall_iii:Tw,dynCall_iiid:Uw,dynCall_iiiiii:Vw}})
// EMSCRIPTEN_END_ASM
(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var real__i64Subtract=asm["_i64Subtract"];asm["_i64Subtract"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__i64Subtract.apply(null,arguments)});var real__strcat=asm["_strcat"];asm["_strcat"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__strcat.apply(null,arguments)});var real__main=asm["_main"];asm["_main"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__main.apply(null,arguments)});var real__realloc=asm["_realloc"];asm["_realloc"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__realloc.apply(null,arguments)});var real__i64Add=asm["_i64Add"];asm["_i64Add"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__i64Add.apply(null,arguments)});var real__memmove=asm["_memmove"];asm["_memmove"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__memmove.apply(null,arguments)});var real__bitshift64Ashr=asm["_bitshift64Ashr"];asm["_bitshift64Ashr"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__bitshift64Ashr.apply(null,arguments)});var real__strlen=asm["_strlen"];asm["_strlen"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__strlen.apply(null,arguments)});var real__bitshift64Lshr=asm["_bitshift64Lshr"];asm["_bitshift64Lshr"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__bitshift64Lshr.apply(null,arguments)});var real__llvm_bswap_i32=asm["_llvm_bswap_i32"];asm["_llvm_bswap_i32"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__llvm_bswap_i32.apply(null,arguments)});var real__bitshift64Shl=asm["_bitshift64Shl"];asm["_bitshift64Shl"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__bitshift64Shl.apply(null,arguments)});var real_runPostSets=asm["runPostSets"];asm["runPostSets"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real_runPostSets.apply(null,arguments)});var real__emscripten_replace_memory=asm["_emscripten_replace_memory"];asm["_emscripten_replace_memory"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__emscripten_replace_memory.apply(null,arguments)});var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _strcat=Module["_strcat"]=asm["_strcat"];var _free=Module["_free"]=asm["_free"];var _main=Module["_main"]=asm["_main"];var _realloc=Module["_realloc"]=asm["_realloc"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _memmove=Module["_memmove"]=asm["_memmove"];var _bitshift64Ashr=Module["_bitshift64Ashr"]=asm["_bitshift64Ashr"];var _strlen=Module["_strlen"]=asm["_strlen"];var _memset=Module["_memset"]=asm["_memset"];var _malloc=Module["_malloc"]=asm["_malloc"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=asm["_llvm_bswap_i32"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var _emscripten_replace_memory=Module["_emscripten_replace_memory"]=asm["_emscripten_replace_memory"];var dynCall_iiiiiiii=Module["dynCall_iiiiiiii"]=asm["dynCall_iiiiiiii"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_dii=Module["dynCall_dii"]=asm["dynCall_dii"];var dynCall_vid=Module["dynCall_vid"]=asm["dynCall_vid"];var dynCall_di=Module["dynCall_di"]=asm["dynCall_di"];var dynCall_i=Module["dynCall_i"]=asm["dynCall_i"];var dynCall_iiiiiiiiii=Module["dynCall_iiiiiiiiii"]=asm["dynCall_iiiiiiiiii"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_iiiiiiiii=Module["dynCall_iiiiiiiii"]=asm["dynCall_iiiiiiiii"];var dynCall_iiiii=Module["dynCall_iiiii"]=asm["dynCall_iiiii"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_iiid=Module["dynCall_iiid"]=asm["dynCall_iiid"];var dynCall_iiiiii=Module["dynCall_iiiiii"]=asm["dynCall_iiiiii"];Runtime.stackAlloc=asm["stackAlloc"];Runtime.stackSave=asm["stackSave"];Runtime.stackRestore=asm["stackRestore"];Runtime.setTempRet0=asm["setTempRet0"];Runtime.getTempRet0=asm["getTempRet0"];var i64Math=(function(){var goog={math:{}};goog.math.Long=(function(low,high){this.low_=low|0;this.high_=high|0});goog.math.Long.IntCache_={};goog.math.Long.fromInt=(function(value){if(-128<=value&&value<128){var cachedObj=goog.math.Long.IntCache_[value];if(cachedObj){return cachedObj}}var obj=new goog.math.Long(value|0,value<0?-1:0);if(-128<=value&&value<128){goog.math.Long.IntCache_[value]=obj}return obj});goog.math.Long.fromNumber=(function(value){if(isNaN(value)||!isFinite(value)){return goog.math.Long.ZERO}else if(value<=-goog.math.Long.TWO_PWR_63_DBL_){return goog.math.Long.MIN_VALUE}else if(value+1>=goog.math.Long.TWO_PWR_63_DBL_){return goog.math.Long.MAX_VALUE}else if(value<0){return goog.math.Long.fromNumber(-value).negate()}else{return new goog.math.Long(value%goog.math.Long.TWO_PWR_32_DBL_|0,value/goog.math.Long.TWO_PWR_32_DBL_|0)}});goog.math.Long.fromBits=(function(lowBits,highBits){return new goog.math.Long(lowBits,highBits)});goog.math.Long.fromString=(function(str,opt_radix){if(str.length==0){throw Error("number format error: empty string")}var radix=opt_radix||10;if(radix<2||36<radix){throw Error("radix out of range: "+radix)}if(str.charAt(0)=="-"){return goog.math.Long.fromString(str.substring(1),radix).negate()}else if(str.indexOf("-")>=0){throw Error('number format error: interior "-" character: '+str)}var radixToPower=goog.math.Long.fromNumber(Math.pow(radix,8));var result=goog.math.Long.ZERO;for(var i=0;i<str.length;i+=8){var size=Math.min(8,str.length-i);var value=parseInt(str.substring(i,i+size),radix);if(size<8){var power=goog.math.Long.fromNumber(Math.pow(radix,size));result=result.multiply(power).add(goog.math.Long.fromNumber(value))}else{result=result.multiply(radixToPower);result=result.add(goog.math.Long.fromNumber(value))}}return result});goog.math.Long.TWO_PWR_16_DBL_=1<<16;goog.math.Long.TWO_PWR_24_DBL_=1<<24;goog.math.Long.TWO_PWR_32_DBL_=goog.math.Long.TWO_PWR_16_DBL_*goog.math.Long.TWO_PWR_16_DBL_;goog.math.Long.TWO_PWR_31_DBL_=goog.math.Long.TWO_PWR_32_DBL_/2;goog.math.Long.TWO_PWR_48_DBL_=goog.math.Long.TWO_PWR_32_DBL_*goog.math.Long.TWO_PWR_16_DBL_;goog.math.Long.TWO_PWR_64_DBL_=goog.math.Long.TWO_PWR_32_DBL_*goog.math.Long.TWO_PWR_32_DBL_;goog.math.Long.TWO_PWR_63_DBL_=goog.math.Long.TWO_PWR_64_DBL_/2;goog.math.Long.ZERO=goog.math.Long.fromInt(0);goog.math.Long.ONE=goog.math.Long.fromInt(1);goog.math.Long.NEG_ONE=goog.math.Long.fromInt(-1);goog.math.Long.MAX_VALUE=goog.math.Long.fromBits(4294967295|0,2147483647|0);goog.math.Long.MIN_VALUE=goog.math.Long.fromBits(0,2147483648|0);goog.math.Long.TWO_PWR_24_=goog.math.Long.fromInt(1<<24);goog.math.Long.prototype.toInt=(function(){return this.low_});goog.math.Long.prototype.toNumber=(function(){return this.high_*goog.math.Long.TWO_PWR_32_DBL_+this.getLowBitsUnsigned()});goog.math.Long.prototype.toString=(function(opt_radix){var radix=opt_radix||10;if(radix<2||36<radix){throw Error("radix out of range: "+radix)}if(this.isZero()){return"0"}if(this.isNegative()){if(this.equals(goog.math.Long.MIN_VALUE)){var radixLong=goog.math.Long.fromNumber(radix);var div=this.div(radixLong);var rem=div.multiply(radixLong).subtract(this);return div.toString(radix)+rem.toInt().toString(radix)}else{return"-"+this.negate().toString(radix)}}var radixToPower=goog.math.Long.fromNumber(Math.pow(radix,6));var rem=this;var result="";while(true){var remDiv=rem.div(radixToPower);var intval=rem.subtract(remDiv.multiply(radixToPower)).toInt();var digits=intval.toString(radix);rem=remDiv;if(rem.isZero()){return digits+result}else{while(digits.length<6){digits="0"+digits}result=""+digits+result}}});goog.math.Long.prototype.getHighBits=(function(){return this.high_});goog.math.Long.prototype.getLowBits=(function(){return this.low_});goog.math.Long.prototype.getLowBitsUnsigned=(function(){return this.low_>=0?this.low_:goog.math.Long.TWO_PWR_32_DBL_+this.low_});goog.math.Long.prototype.getNumBitsAbs=(function(){if(this.isNegative()){if(this.equals(goog.math.Long.MIN_VALUE)){return 64}else{return this.negate().getNumBitsAbs()}}else{var val=this.high_!=0?this.high_:this.low_;for(var bit=31;bit>0;bit--){if((val&1<<bit)!=0){break}}return this.high_!=0?bit+33:bit+1}});goog.math.Long.prototype.isZero=(function(){return this.high_==0&&this.low_==0});goog.math.Long.prototype.isNegative=(function(){return this.high_<0});goog.math.Long.prototype.isOdd=(function(){return(this.low_&1)==1});goog.math.Long.prototype.equals=(function(other){return this.high_==other.high_&&this.low_==other.low_});goog.math.Long.prototype.notEquals=(function(other){return this.high_!=other.high_||this.low_!=other.low_});goog.math.Long.prototype.lessThan=(function(other){return this.compare(other)<0});goog.math.Long.prototype.lessThanOrEqual=(function(other){return this.compare(other)<=0});goog.math.Long.prototype.greaterThan=(function(other){return this.compare(other)>0});goog.math.Long.prototype.greaterThanOrEqual=(function(other){return this.compare(other)>=0});goog.math.Long.prototype.compare=(function(other){if(this.equals(other)){return 0}var thisNeg=this.isNegative();var otherNeg=other.isNegative();if(thisNeg&&!otherNeg){return-1}if(!thisNeg&&otherNeg){return 1}if(this.subtract(other).isNegative()){return-1}else{return 1}});goog.math.Long.prototype.negate=(function(){if(this.equals(goog.math.Long.MIN_VALUE)){return goog.math.Long.MIN_VALUE}else{return this.not().add(goog.math.Long.ONE)}});goog.math.Long.prototype.add=(function(other){var a48=this.high_>>>16;var a32=this.high_&65535;var a16=this.low_>>>16;var a00=this.low_&65535;var b48=other.high_>>>16;var b32=other.high_&65535;var b16=other.low_>>>16;var b00=other.low_&65535;var c48=0,c32=0,c16=0,c00=0;c00+=a00+b00;c16+=c00>>>16;c00&=65535;c16+=a16+b16;c32+=c16>>>16;c16&=65535;c32+=a32+b32;c48+=c32>>>16;c32&=65535;c48+=a48+b48;c48&=65535;return goog.math.Long.fromBits(c16<<16|c00,c48<<16|c32)});goog.math.Long.prototype.subtract=(function(other){return this.add(other.negate())});goog.math.Long.prototype.multiply=(function(other){if(this.isZero()){return goog.math.Long.ZERO}else if(other.isZero()){return goog.math.Long.ZERO}if(this.equals(goog.math.Long.MIN_VALUE)){return other.isOdd()?goog.math.Long.MIN_VALUE:goog.math.Long.ZERO}else if(other.equals(goog.math.Long.MIN_VALUE)){return this.isOdd()?goog.math.Long.MIN_VALUE:goog.math.Long.ZERO}if(this.isNegative()){if(other.isNegative()){return this.negate().multiply(other.negate())}else{return this.negate().multiply(other).negate()}}else if(other.isNegative()){return this.multiply(other.negate()).negate()}if(this.lessThan(goog.math.Long.TWO_PWR_24_)&&other.lessThan(goog.math.Long.TWO_PWR_24_)){return goog.math.Long.fromNumber(this.toNumber()*other.toNumber())}var a48=this.high_>>>16;var a32=this.high_&65535;var a16=this.low_>>>16;var a00=this.low_&65535;var b48=other.high_>>>16;var b32=other.high_&65535;var b16=other.low_>>>16;var b00=other.low_&65535;var c48=0,c32=0,c16=0,c00=0;c00+=a00*b00;c16+=c00>>>16;c00&=65535;c16+=a16*b00;c32+=c16>>>16;c16&=65535;c16+=a00*b16;c32+=c16>>>16;c16&=65535;c32+=a32*b00;c48+=c32>>>16;c32&=65535;c32+=a16*b16;c48+=c32>>>16;c32&=65535;c32+=a00*b32;c48+=c32>>>16;c32&=65535;c48+=a48*b00+a32*b16+a16*b32+a00*b48;c48&=65535;return goog.math.Long.fromBits(c16<<16|c00,c48<<16|c32)});goog.math.Long.prototype.div=(function(other){if(other.isZero()){throw Error("division by zero")}else if(this.isZero()){return goog.math.Long.ZERO}if(this.equals(goog.math.Long.MIN_VALUE)){if(other.equals(goog.math.Long.ONE)||other.equals(goog.math.Long.NEG_ONE)){return goog.math.Long.MIN_VALUE}else if(other.equals(goog.math.Long.MIN_VALUE)){return goog.math.Long.ONE}else{var halfThis=this.shiftRight(1);var approx=halfThis.div(other).shiftLeft(1);if(approx.equals(goog.math.Long.ZERO)){return other.isNegative()?goog.math.Long.ONE:goog.math.Long.NEG_ONE}else{var rem=this.subtract(other.multiply(approx));var result=approx.add(rem.div(other));return result}}}else if(other.equals(goog.math.Long.MIN_VALUE)){return goog.math.Long.ZERO}if(this.isNegative()){if(other.isNegative()){return this.negate().div(other.negate())}else{return this.negate().div(other).negate()}}else if(other.isNegative()){return this.div(other.negate()).negate()}var res=goog.math.Long.ZERO;var rem=this;while(rem.greaterThanOrEqual(other)){var approx=Math.max(1,Math.floor(rem.toNumber()/other.toNumber()));var log2=Math.ceil(Math.log(approx)/Math.LN2);var delta=log2<=48?1:Math.pow(2,log2-48);var approxRes=goog.math.Long.fromNumber(approx);var approxRem=approxRes.multiply(other);while(approxRem.isNegative()||approxRem.greaterThan(rem)){approx-=delta;approxRes=goog.math.Long.fromNumber(approx);approxRem=approxRes.multiply(other)}if(approxRes.isZero()){approxRes=goog.math.Long.ONE}res=res.add(approxRes);rem=rem.subtract(approxRem)}return res});goog.math.Long.prototype.modulo=(function(other){return this.subtract(this.div(other).multiply(other))});goog.math.Long.prototype.not=(function(){return goog.math.Long.fromBits(~this.low_,~this.high_)});goog.math.Long.prototype.and=(function(other){return goog.math.Long.fromBits(this.low_&other.low_,this.high_&other.high_)});goog.math.Long.prototype.or=(function(other){return goog.math.Long.fromBits(this.low_|other.low_,this.high_|other.high_)});goog.math.Long.prototype.xor=(function(other){return goog.math.Long.fromBits(this.low_^other.low_,this.high_^other.high_)});goog.math.Long.prototype.shiftLeft=(function(numBits){numBits&=63;if(numBits==0){return this}else{var low=this.low_;if(numBits<32){var high=this.high_;return goog.math.Long.fromBits(low<<numBits,high<<numBits|low>>>32-numBits)}else{return goog.math.Long.fromBits(0,low<<numBits-32)}}});goog.math.Long.prototype.shiftRight=(function(numBits){numBits&=63;if(numBits==0){return this}else{var high=this.high_;if(numBits<32){var low=this.low_;return goog.math.Long.fromBits(low>>>numBits|high<<32-numBits,high>>numBits)}else{return goog.math.Long.fromBits(high>>numBits-32,high>=0?0:-1)}}});goog.math.Long.prototype.shiftRightUnsigned=(function(numBits){numBits&=63;if(numBits==0){return this}else{var high=this.high_;if(numBits<32){var low=this.low_;return goog.math.Long.fromBits(low>>>numBits|high<<32-numBits,high>>>numBits)}else if(numBits==32){return goog.math.Long.fromBits(high,0)}else{return goog.math.Long.fromBits(high>>>numBits-32,0)}}});var navigator={appName:"Modern Browser"};var dbits;var canary=0xdeadbeefcafe;var j_lm=(canary&16777215)==15715070;function BigInteger(a,b,c){if(a!=null)if("number"==typeof a)this.fromNumber(a,b,c);else if(b==null&&"string"!=typeof a)this.fromString(a,256);else this.fromString(a,b)}function nbi(){return new BigInteger(null)}function am1(i,x,w,j,c,n){while(--n>=0){var v=x*this[i++]+w[j]+c;c=Math.floor(v/67108864);w[j++]=v&67108863}return c}function am2(i,x,w,j,c,n){var xl=x&32767,xh=x>>15;while(--n>=0){var l=this[i]&32767;var h=this[i++]>>15;var m=xh*l+h*xl;l=xl*l+((m&32767)<<15)+w[j]+(c&1073741823);c=(l>>>30)+(m>>>15)+xh*h+(c>>>30);w[j++]=l&1073741823}return c}function am3(i,x,w,j,c,n){var xl=x&16383,xh=x>>14;while(--n>=0){var l=this[i]&16383;var h=this[i++]>>14;var m=xh*l+h*xl;l=xl*l+((m&16383)<<14)+w[j]+c;c=(l>>28)+(m>>14)+xh*h;w[j++]=l&268435455}return c}if(j_lm&&navigator.appName=="Microsoft Internet Explorer"){BigInteger.prototype.am=am2;dbits=30}else if(j_lm&&navigator.appName!="Netscape"){BigInteger.prototype.am=am1;dbits=26}else{BigInteger.prototype.am=am3;dbits=28}BigInteger.prototype.DB=dbits;BigInteger.prototype.DM=(1<<dbits)-1;BigInteger.prototype.DV=1<<dbits;var BI_FP=52;BigInteger.prototype.FV=Math.pow(2,BI_FP);BigInteger.prototype.F1=BI_FP-dbits;BigInteger.prototype.F2=2*dbits-BI_FP;var BI_RM="0123456789abcdefghijklmnopqrstuvwxyz";var BI_RC=new Array;var rr,vv;rr="0".charCodeAt(0);for(vv=0;vv<=9;++vv)BI_RC[rr++]=vv;rr="a".charCodeAt(0);for(vv=10;vv<36;++vv)BI_RC[rr++]=vv;rr="A".charCodeAt(0);for(vv=10;vv<36;++vv)BI_RC[rr++]=vv;function int2char(n){return BI_RM.charAt(n)}function intAt(s,i){var c=BI_RC[s.charCodeAt(i)];return c==null?-1:c}function bnpCopyTo(r){for(var i=this.t-1;i>=0;--i)r[i]=this[i];r.t=this.t;r.s=this.s}function bnpFromInt(x){this.t=1;this.s=x<0?-1:0;if(x>0)this[0]=x;else if(x<-1)this[0]=x+DV;else this.t=0}function nbv(i){var r=nbi();r.fromInt(i);return r}function bnpFromString(s,b){var k;if(b==16)k=4;else if(b==8)k=3;else if(b==256)k=8;else if(b==2)k=1;else if(b==32)k=5;else if(b==4)k=2;else{this.fromRadix(s,b);return}this.t=0;this.s=0;var i=s.length,mi=false,sh=0;while(--i>=0){var x=k==8?s[i]&255:intAt(s,i);if(x<0){if(s.charAt(i)=="-")mi=true;continue}mi=false;if(sh==0)this[this.t++]=x;else if(sh+k>this.DB){this[this.t-1]|=(x&(1<<this.DB-sh)-1)<<sh;this[this.t++]=x>>this.DB-sh}else this[this.t-1]|=x<<sh;sh+=k;if(sh>=this.DB)sh-=this.DB}if(k==8&&(s[0]&128)!=0){this.s=-1;if(sh>0)this[this.t-1]|=(1<<this.DB-sh)-1<<sh}this.clamp();if(mi)BigInteger.ZERO.subTo(this,this)}function bnpClamp(){var c=this.s&this.DM;while(this.t>0&&this[this.t-1]==c)--this.t}function bnToString(b){if(this.s<0)return"-"+this.negate().toString(b);var k;if(b==16)k=4;else if(b==8)k=3;else if(b==2)k=1;else if(b==32)k=5;else if(b==4)k=2;else return this.toRadix(b);var km=(1<<k)-1,d,m=false,r="",i=this.t;var p=this.DB-i*this.DB%k;if(i-->0){if(p<this.DB&&(d=this[i]>>p)>0){m=true;r=int2char(d)}while(i>=0){if(p<k){d=(this[i]&(1<<p)-1)<<k-p;d|=this[--i]>>(p+=this.DB-k)}else{d=this[i]>>(p-=k)&km;if(p<=0){p+=this.DB;--i}}if(d>0)m=true;if(m)r+=int2char(d)}}return m?r:"0"}function bnNegate(){var r=nbi();BigInteger.ZERO.subTo(this,r);return r}function bnAbs(){return this.s<0?this.negate():this}function bnCompareTo(a){var r=this.s-a.s;if(r!=0)return r;var i=this.t;r=i-a.t;if(r!=0)return this.s<0?-r:r;while(--i>=0)if((r=this[i]-a[i])!=0)return r;return 0}function nbits(x){var r=1,t;if((t=x>>>16)!=0){x=t;r+=16}if((t=x>>8)!=0){x=t;r+=8}if((t=x>>4)!=0){x=t;r+=4}if((t=x>>2)!=0){x=t;r+=2}if((t=x>>1)!=0){x=t;r+=1}return r}function bnBitLength(){if(this.t<=0)return 0;return this.DB*(this.t-1)+nbits(this[this.t-1]^this.s&this.DM)}function bnpDLShiftTo(n,r){var i;for(i=this.t-1;i>=0;--i)r[i+n]=this[i];for(i=n-1;i>=0;--i)r[i]=0;r.t=this.t+n;r.s=this.s}function bnpDRShiftTo(n,r){for(var i=n;i<this.t;++i)r[i-n]=this[i];r.t=Math.max(this.t-n,0);r.s=this.s}function bnpLShiftTo(n,r){var bs=n%this.DB;var cbs=this.DB-bs;var bm=(1<<cbs)-1;var ds=Math.floor(n/this.DB),c=this.s<<bs&this.DM,i;for(i=this.t-1;i>=0;--i){r[i+ds+1]=this[i]>>cbs|c;c=(this[i]&bm)<<bs}for(i=ds-1;i>=0;--i)r[i]=0;r[ds]=c;r.t=this.t+ds+1;r.s=this.s;r.clamp()}function bnpRShiftTo(n,r){r.s=this.s;var ds=Math.floor(n/this.DB);if(ds>=this.t){r.t=0;return}var bs=n%this.DB;var cbs=this.DB-bs;var bm=(1<<bs)-1;r[0]=this[ds]>>bs;for(var i=ds+1;i<this.t;++i){r[i-ds-1]|=(this[i]&bm)<<cbs;r[i-ds]=this[i]>>bs}if(bs>0)r[this.t-ds-1]|=(this.s&bm)<<cbs;r.t=this.t-ds;r.clamp()}function bnpSubTo(a,r){var i=0,c=0,m=Math.min(a.t,this.t);while(i<m){c+=this[i]-a[i];r[i++]=c&this.DM;c>>=this.DB}if(a.t<this.t){c-=a.s;while(i<this.t){c+=this[i];r[i++]=c&this.DM;c>>=this.DB}c+=this.s}else{c+=this.s;while(i<a.t){c-=a[i];r[i++]=c&this.DM;c>>=this.DB}c-=a.s}r.s=c<0?-1:0;if(c<-1)r[i++]=this.DV+c;else if(c>0)r[i++]=c;r.t=i;r.clamp()}function bnpMultiplyTo(a,r){var x=this.abs(),y=a.abs();var i=x.t;r.t=i+y.t;while(--i>=0)r[i]=0;for(i=0;i<y.t;++i)r[i+x.t]=x.am(0,y[i],r,i,0,x.t);r.s=0;r.clamp();if(this.s!=a.s)BigInteger.ZERO.subTo(r,r)}function bnpSquareTo(r){var x=this.abs();var i=r.t=2*x.t;while(--i>=0)r[i]=0;for(i=0;i<x.t-1;++i){var c=x.am(i,x[i],r,2*i,0,1);if((r[i+x.t]+=x.am(i+1,2*x[i],r,2*i+1,c,x.t-i-1))>=x.DV){r[i+x.t]-=x.DV;r[i+x.t+1]=1}}if(r.t>0)r[r.t-1]+=x.am(i,x[i],r,2*i,0,1);r.s=0;r.clamp()}function bnpDivRemTo(m,q,r){var pm=m.abs();if(pm.t<=0)return;var pt=this.abs();if(pt.t<pm.t){if(q!=null)q.fromInt(0);if(r!=null)this.copyTo(r);return}if(r==null)r=nbi();var y=nbi(),ts=this.s,ms=m.s;var nsh=this.DB-nbits(pm[pm.t-1]);if(nsh>0){pm.lShiftTo(nsh,y);pt.lShiftTo(nsh,r)}else{pm.copyTo(y);pt.copyTo(r)}var ys=y.t;var y0=y[ys-1];if(y0==0)return;var yt=y0*(1<<this.F1)+(ys>1?y[ys-2]>>this.F2:0);var d1=this.FV/yt,d2=(1<<this.F1)/yt,e=1<<this.F2;var i=r.t,j=i-ys,t=q==null?nbi():q;y.dlShiftTo(j,t);if(r.compareTo(t)>=0){r[r.t++]=1;r.subTo(t,r)}BigInteger.ONE.dlShiftTo(ys,t);t.subTo(y,y);while(y.t<ys)y[y.t++]=0;while(--j>=0){var qd=r[--i]==y0?this.DM:Math.floor(r[i]*d1+(r[i-1]+e)*d2);if((r[i]+=y.am(0,qd,r,j,0,ys))<qd){y.dlShiftTo(j,t);r.subTo(t,r);while(r[i]<--qd)r.subTo(t,r)}}if(q!=null){r.drShiftTo(ys,q);if(ts!=ms)BigInteger.ZERO.subTo(q,q)}r.t=ys;r.clamp();if(nsh>0)r.rShiftTo(nsh,r);if(ts<0)BigInteger.ZERO.subTo(r,r)}function bnMod(a){var r=nbi();this.abs().divRemTo(a,null,r);if(this.s<0&&r.compareTo(BigInteger.ZERO)>0)a.subTo(r,r);return r}function Classic(m){this.m=m}function cConvert(x){if(x.s<0||x.compareTo(this.m)>=0)return x.mod(this.m);else return x}function cRevert(x){return x}function cReduce(x){x.divRemTo(this.m,null,x)}function cMulTo(x,y,r){x.multiplyTo(y,r);this.reduce(r)}function cSqrTo(x,r){x.squareTo(r);this.reduce(r)}Classic.prototype.convert=cConvert;Classic.prototype.revert=cRevert;Classic.prototype.reduce=cReduce;Classic.prototype.mulTo=cMulTo;Classic.prototype.sqrTo=cSqrTo;function bnpInvDigit(){if(this.t<1)return 0;var x=this[0];if((x&1)==0)return 0;var y=x&3;y=y*(2-(x&15)*y)&15;y=y*(2-(x&255)*y)&255;y=y*(2-((x&65535)*y&65535))&65535;y=y*(2-x*y%this.DV)%this.DV;return y>0?this.DV-y:-y}function Montgomery(m){this.m=m;this.mp=m.invDigit();this.mpl=this.mp&32767;this.mph=this.mp>>15;this.um=(1<<m.DB-15)-1;this.mt2=2*m.t}function montConvert(x){var r=nbi();x.abs().dlShiftTo(this.m.t,r);r.divRemTo(this.m,null,r);if(x.s<0&&r.compareTo(BigInteger.ZERO)>0)this.m.subTo(r,r);return r}function montRevert(x){var r=nbi();x.copyTo(r);this.reduce(r);return r}function montReduce(x){while(x.t<=this.mt2)x[x.t++]=0;for(var i=0;i<this.m.t;++i){var j=x[i]&32767;var u0=j*this.mpl+((j*this.mph+(x[i]>>15)*this.mpl&this.um)<<15)&x.DM;j=i+this.m.t;x[j]+=this.m.am(0,u0,x,i,0,this.m.t);while(x[j]>=x.DV){x[j]-=x.DV;x[++j]++}}x.clamp();x.drShiftTo(this.m.t,x);if(x.compareTo(this.m)>=0)x.subTo(this.m,x)}function montSqrTo(x,r){x.squareTo(r);this.reduce(r)}function montMulTo(x,y,r){x.multiplyTo(y,r);this.reduce(r)}Montgomery.prototype.convert=montConvert;Montgomery.prototype.revert=montRevert;Montgomery.prototype.reduce=montReduce;Montgomery.prototype.mulTo=montMulTo;Montgomery.prototype.sqrTo=montSqrTo;function bnpIsEven(){return(this.t>0?this[0]&1:this.s)==0}function bnpExp(e,z){if(e>4294967295||e<1)return BigInteger.ONE;var r=nbi(),r2=nbi(),g=z.convert(this),i=nbits(e)-1;g.copyTo(r);while(--i>=0){z.sqrTo(r,r2);if((e&1<<i)>0)z.mulTo(r2,g,r);else{var t=r;r=r2;r2=t}}return z.revert(r)}function bnModPowInt(e,m){var z;if(e<256||m.isEven())z=new Classic(m);else z=new Montgomery(m);return this.exp(e,z)}BigInteger.prototype.copyTo=bnpCopyTo;BigInteger.prototype.fromInt=bnpFromInt;BigInteger.prototype.fromString=bnpFromString;BigInteger.prototype.clamp=bnpClamp;BigInteger.prototype.dlShiftTo=bnpDLShiftTo;BigInteger.prototype.drShiftTo=bnpDRShiftTo;BigInteger.prototype.lShiftTo=bnpLShiftTo;BigInteger.prototype.rShiftTo=bnpRShiftTo;BigInteger.prototype.subTo=bnpSubTo;BigInteger.prototype.multiplyTo=bnpMultiplyTo;BigInteger.prototype.squareTo=bnpSquareTo;BigInteger.prototype.divRemTo=bnpDivRemTo;BigInteger.prototype.invDigit=bnpInvDigit;BigInteger.prototype.isEven=bnpIsEven;BigInteger.prototype.exp=bnpExp;BigInteger.prototype.toString=bnToString;BigInteger.prototype.negate=bnNegate;BigInteger.prototype.abs=bnAbs;BigInteger.prototype.compareTo=bnCompareTo;BigInteger.prototype.bitLength=bnBitLength;BigInteger.prototype.mod=bnMod;BigInteger.prototype.modPowInt=bnModPowInt;BigInteger.ZERO=nbv(0);BigInteger.ONE=nbv(1);function bnpFromRadix(s,b){this.fromInt(0);if(b==null)b=10;var cs=this.chunkSize(b);var d=Math.pow(b,cs),mi=false,j=0,w=0;for(var i=0;i<s.length;++i){var x=intAt(s,i);if(x<0){if(s.charAt(i)=="-"&&this.signum()==0)mi=true;continue}w=b*w+x;if(++j>=cs){this.dMultiply(d);this.dAddOffset(w,0);j=0;w=0}}if(j>0){this.dMultiply(Math.pow(b,j));this.dAddOffset(w,0)}if(mi)BigInteger.ZERO.subTo(this,this)}function bnpChunkSize(r){return Math.floor(Math.LN2*this.DB/Math.log(r))}function bnSigNum(){if(this.s<0)return-1;else if(this.t<=0||this.t==1&&this[0]<=0)return 0;else return 1}function bnpDMultiply(n){this[this.t]=this.am(0,n-1,this,0,0,this.t);++this.t;this.clamp()}function bnpDAddOffset(n,w){if(n==0)return;while(this.t<=w)this[this.t++]=0;this[w]+=n;while(this[w]>=this.DV){this[w]-=this.DV;if(++w>=this.t)this[this.t++]=0;++this[w]}}function bnpToRadix(b){if(b==null)b=10;if(this.signum()==0||b<2||b>36)return"0";var cs=this.chunkSize(b);var a=Math.pow(b,cs);var d=nbv(a),y=nbi(),z=nbi(),r="";this.divRemTo(d,y,z);while(y.signum()>0){r=(a+z.intValue()).toString(b).substr(1)+r;y.divRemTo(d,y,z)}return z.intValue().toString(b)+r}function bnIntValue(){if(this.s<0){if(this.t==1)return this[0]-this.DV;else if(this.t==0)return-1}else if(this.t==1)return this[0];else if(this.t==0)return 0;return(this[1]&(1<<32-this.DB)-1)<<this.DB|this[0]}function bnpAddTo(a,r){var i=0,c=0,m=Math.min(a.t,this.t);while(i<m){c+=this[i]+a[i];r[i++]=c&this.DM;c>>=this.DB}if(a.t<this.t){c+=a.s;while(i<this.t){c+=this[i];r[i++]=c&this.DM;c>>=this.DB}c+=this.s}else{c+=this.s;while(i<a.t){c+=a[i];r[i++]=c&this.DM;c>>=this.DB}c+=a.s}r.s=c<0?-1:0;if(c>0)r[i++]=c;else if(c<-1)r[i++]=this.DV+c;r.t=i;r.clamp()}BigInteger.prototype.fromRadix=bnpFromRadix;BigInteger.prototype.chunkSize=bnpChunkSize;BigInteger.prototype.signum=bnSigNum;BigInteger.prototype.dMultiply=bnpDMultiply;BigInteger.prototype.dAddOffset=bnpDAddOffset;BigInteger.prototype.toRadix=bnpToRadix;BigInteger.prototype.intValue=bnIntValue;BigInteger.prototype.addTo=bnpAddTo;var Wrapper={abs:(function(l,h){var x=new goog.math.Long(l,h);var ret;if(x.isNegative()){ret=x.negate()}else{ret=x}HEAP32[tempDoublePtr>>2]=ret.low_;HEAP32[tempDoublePtr+4>>2]=ret.high_}),ensureTemps:(function(){if(Wrapper.ensuredTemps)return;Wrapper.ensuredTemps=true;Wrapper.two32=new BigInteger;Wrapper.two32.fromString("4294967296",10);Wrapper.two64=new BigInteger;Wrapper.two64.fromString("18446744073709551616",10);Wrapper.temp1=new BigInteger;Wrapper.temp2=new BigInteger}),lh2bignum:(function(l,h){var a=new BigInteger;a.fromString(h.toString(),10);var b=new BigInteger;a.multiplyTo(Wrapper.two32,b);var c=new BigInteger;c.fromString(l.toString(),10);var d=new BigInteger;c.addTo(b,d);return d}),stringify:(function(l,h,unsigned){var ret=(new goog.math.Long(l,h)).toString();if(unsigned&&ret[0]=="-"){Wrapper.ensureTemps();var bignum=new BigInteger;bignum.fromString(ret,10);ret=new BigInteger;Wrapper.two64.addTo(bignum,ret);ret=ret.toString(10)}return ret}),fromString:(function(str,base,min,max,unsigned){Wrapper.ensureTemps();var bignum=new BigInteger;bignum.fromString(str,base);var bigmin=new BigInteger;bigmin.fromString(min,10);var bigmax=new BigInteger;bigmax.fromString(max,10);if(unsigned&&bignum.compareTo(BigInteger.ZERO)<0){var temp=new BigInteger;bignum.addTo(Wrapper.two64,temp);bignum=temp}var error=false;if(bignum.compareTo(bigmin)<0){bignum=bigmin;error=true}else if(bignum.compareTo(bigmax)>0){bignum=bigmax;error=true}var ret=goog.math.Long.fromString(bignum.toString());HEAP32[tempDoublePtr>>2]=ret.low_;HEAP32[tempDoublePtr+4>>2]=ret.high_;if(error)throw"range error"})};return Wrapper})();if(memoryInitializer){if(typeof Module["locateFile"]==="function"){memoryInitializer=Module["locateFile"](memoryInitializer)}else if(Module["memoryInitializerPrefixURL"]){memoryInitializer=Module["memoryInitializerPrefixURL"]+memoryInitializer}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=Module["readBinary"](memoryInitializer);HEAPU8.set(data,STATIC_BASE)}else{addRunDependency("memory initializer");function applyMemoryInitializer(data){if(data.byteLength)data=new Uint8Array(data);for(var i=0;i<data.length;i++){assert(HEAPU8[STATIC_BASE+i]===0,"area for memory initializer should not have been touched before it's loaded")}HEAPU8.set(data,STATIC_BASE);removeRunDependency("memory initializer")}var request=Module["memoryInitializerRequest"];if(request){if(request.response){setTimeout((function(){applyMemoryInitializer(request.response)}),0)}else{request.addEventListener("load",(function(){if(request.status!==200&&request.status!==0){console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+request.status)}if(!request.response||typeof request.response!=="object"||!request.response.byteLength){console.warn("a problem seems to have happened with Module.memoryInitializerRequest response (expected ArrayBuffer): "+request.response)}applyMemoryInitializer(request.response)}))}}else{Browser.asyncLoad(memoryInitializer,applyMemoryInitializer,(function(){throw"could not load memory initializer "+memoryInitializer}))}}}function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;var preloadStartTime=null;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=Module.callMain=function callMain(args){assert(runDependencies==0,"cannot call main when async dependencies remain! (listen on __ATMAIN__)");assert(__ATPRERUN__.length==0,"cannot call main when preRun functions remain to be called");args=args||[];ensureInitRuntime();var argc=args.length+1;function pad(){for(var i=0;i<4-1;i++){argv.push(0)}}var argv=[allocate(intArrayFromString(Module["thisProgram"]),"i8",ALLOC_NORMAL)];pad();for(var i=0;i<argc-1;i=i+1){argv.push(allocate(intArrayFromString(args[i]),"i8",ALLOC_NORMAL));pad()}argv.push(0);argv=allocate(argv,"i32",ALLOC_NORMAL);initialStackTop=STACKTOP;try{var ret=Module["_main"](argc,argv,0);exit(ret)}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){Module["noExitRuntime"]=true;return}else{if(e&&typeof e==="object"&&e.stack)Module.printErr("exception thrown: "+[e,e.stack]);throw e}}finally{calledMain=true}};function run(args){args=args||Module["arguments"];if(preloadStartTime===null)preloadStartTime=Date.now();if(runDependencies>0){Module.printErr("run() called, but dependencies remain, so not running");return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(ENVIRONMENT_IS_WEB&&preloadStartTime!==null){Module.printErr("pre-main prep time: "+(Date.now()-preloadStartTime)+" ms")}if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(Module["_main"]&&shouldRunNow)Module["callMain"](args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=Module.run=run;function exit(status){if(Module["noExitRuntime"]){Module.printErr("exit("+status+") called, but noExitRuntime, so not exiting (you can use emscripten_force_exit, if you want to force a true shutdown)");return}ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status);if(ENVIRONMENT_IS_NODE){process["stdout"]["once"]("drain",(function(){process["exit"](status)}));console.log(" ");setTimeout((function(){process["exit"](status)}),500)}else if(ENVIRONMENT_IS_SHELL&&typeof quit==="function"){quit(status)}throw new ExitStatus(status)}Module["exit"]=Module.exit=exit;var abortDecorators=[];function abort(what){if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;var extra="";var output="abort("+what+") at "+stackTrace()+extra;abortDecorators.forEach((function(decorator){output=decorator(output,what)}));throw output}Module["abort"]=Module.abort=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"]){shouldRunNow=false}run()
